【发布时间】:2011-07-01 23:23:36
【问题描述】:
我有 3 个使用 svn 的项目。我的文件夹系统是:有一个文件夹projects,在projects文件夹中有3个项目projectA、projectB和projectC。
我有一个这样的 Windows 批处理脚本代码:
d:
cd projectA
svn update
cd ../projectB
svn update
cd ../projectC
svn update
它的目的是使用一个 .bat 文件来更新我的所有项目。该代码似乎可以改进。是否可以像这样更改它:
set folder=projects
set directories=(projectA projectB projectC)
set command=svn update
d:
for %%i in %directories% do cd.. && cd %folder%/%%i && %command%
该代码在某处失败。它应该更改为while循环或类似的东西,因为它试图在项目文件夹下制作cd projects\projectB(它应该在项目的上层文件夹中执行cd项目\等)
编辑: @Andriy M 我的电脑上有一张截图。红色是项目A,蓝色是项目B,紫色是项目C。
在这里:
【问题讨论】:
-
你能看到
folder赋值行后面的错误信息吗?这就是为什么您在以下循环中有不同路径的原因。路径不同,因为顶部分配不起作用,folder具有您之前分配的值。您的文本编辑器可能已将批处理文件保存为 UTF-8 编码,从屏幕截图来看,文件的前三个字节很可能是 UTF-8 签名。但是 shell 无法识别它们,试图解释它们并失败。
标签: windows-7 batch-file