我正在编写批处理脚本来卸载并重新安装一些程序。我的目标是通过组策略将其推送到多台计算机。
我的问题是关于第一行:
Start /wait C:\PROGRA~2\STRUCT~1\spColumn\UNWISE.EXE /s C:\PROGRA~2\STRUCT~1\spColumn\INSTALL.LOG
在PROGRA~2
和STRUCT~1
部分中,它指向Program Files (x86)
,然后指向以Struct
开头的第一个文件夹。但是,我有一些机器在该位置有多个以Struct
开头的文件夹,我需要它指向第二个文件夹,在这种情况下,我希望它对这些机器说STRUCT~2
。
有没有办法在只有一个" Struct ..."文件夹以及两个文件夹?也许添加if,然后声明?
答案 0 :(得分:0)
当您使用包含空格的完整路径名时,这会变得更加容易,并将其全部用引号括起来。
Start /wait "C:\PROGRAM Files (x86)\STRUCTwhatever this is\spColumn\UNWISE.EXE" /s "C:\PROGRAM Files (x86)\STRUCTwhatever this is\spColumn\INSTALL.LOG"
为了做得更好,我建议使用%programfiles(x86)%
环境变量,如下所示:
Start /wait "%programfiles(x86)%\STRUCTwhatever this is\spColumn\UNWISE.EXE" /s "%programfiles(x86)%\STRUCTwhatever this is\spColumn\INSTALL.LOG"
答案 1 :(得分:0)
if exist \PROGRA~2\STRUCT~1\ then Start
:Start start /wait C:\PROGRA~2\STRUCT~1\spColumn\UNWISE.EXE /s
C:\PROGRA~