处理具有相似名称的文件夹中的文件

时间:2016-01-29 16:47:00

标签: batch-file installation

我正在编写批处理脚本来卸载并重新安装一些程序。我的目标是通过组策略将其推送到多台计算机。

我的问题是关于第一行:

Start /wait C:\PROGRA~2\STRUCT~1\spColumn\UNWISE.EXE /s C:\PROGRA~2\STRUCT~1\spColumn\INSTALL.LOG

PROGRA~2STRUCT~1部分中,它指向Program Files (x86),然后指向以Struct开头的第一个文件夹。但是,我有一些机器在该位置有多个以Struct开头的文件夹,我需要它指向第二个文件夹,在这种情况下,我希望它对这些机器说STRUCT~2

有没有办法在只有一个" Struct ..."文件夹以及两个文件夹?也许添加if,然后声明?

2 个答案:

答案 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~