You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux应用服务部署前清理文件:如何排除指定文件夹?

解决部署前排除指定文件夹删除的问题

原脚本中find命令的参数逻辑和顺序有误,导致无法保留webroot/uploads文件夹及其内容。需调整命令参数,借助-prune跳过目标目录,再执行删除操作。

修改后的完整脚本

$bodyToPOST = @{  
    command = "find . -mindepth 1 -path `"./webroot/uploads`" -prune -o -delete"  
    dir = "/home/site/wwwroot"  
}  

# Splat all parameters together in $param  
$param = @{  
    # command REST API url  
    Uri = "https://$WebAppName.scm.omited.appserviceenvironment.net/api/command"  
    Headers = @{Authorization=("Basic {0}" -f $base64AuthInfo)}  
    Method = "POST"  
    Body = (ConvertTo-Json $bodyToPOST)  
    ContentType = "application/json"  
}  
# Invoke REST call  
Invoke-RestMethod @param 

关键命令说明

  • -path "./webroot/uploads" -prune:精准匹配当前目录下的webroot/uploads文件夹,-prune指令会让find直接跳过该目录及其内部所有子项的遍历,从根源避免误删。
  • -o -delete:-o代表逻辑或,即对不满足前面匹配条件的内容(也就是除webroot/uploads之外的所有文件和目录)执行删除操作。
  • 参数顺序要求:-delete必须放在所有条件判断之后,否则find会优先执行删除动作,导致排除逻辑完全失效。

内容的提问来源于stack exchange,提问作者TechFanDan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 04:41:08