我尝试在您的某个项目的部署阶段运行以下脚本。但没有成功。该脚本应删除以 Update 开头的所有文件夹和所有.zip文件,然后将新zip文件复制到目标。
我的剧本:
@echo off
set "pathToCopy=\\{server}\Updates"
set "fileName=Update*.zip"
set "username=user"
set "password=secret"
echo Get network share rights...
net use "%pathToCopy%" /USER:%username% %password%
if not "%errorlevel%"=="0" echo Network access not possible & exit /b 1
for /D %f in ("%pathToCopy%\Update*") do rmdir %f /S /Q
del "%pathToCopy%\Update_*.zip"
copy "%fileName%" "%pathToCopy%"
del
和copy
命令工作正常,但for
rmdir
没有,我收到以下消息(SyntaxError)
"pathToCopyf" kann syntaktisch an dieser Stelle nicht verarbeitet werden. (German)
我可以使用本地开发机器中的cmd运行脚本,没有任何问题。当我运行for
而没有()
for /D %f in "%pathToCopy%\Update*" do rmdir %f /S /Q
那么,Bamboo(5.9.3)中是否存在处理for
的错误?
我是否必须重写for
?
我还有哪些其他解决方案可以使用通配符删除所有文件夹?
答案 0 :(得分:1)
终端和批处理文件以两种不同的方式处理%符号。
虽然这可以在终端上使用:
for /D %f in "%pathToCopy%\Update*" do rmdir %f /S /Q
%需要使用另一个%符号进行转义才能从批处理文件中运行:
for /D %%f in "%pathToCopy%\Update*" do rmdir %%f /S /Q