2012-09-04 46 views
0

在批处理文件中,我有这条运行防病毒程序的行。我希望确保它在批次移至下面几行之前完成其工作。根据我的理解,START/WAIT是等待。不幸的是,START/WAIT打破了代码行。Windows命令行'开始'可以防止查找所有文件

下面是运行该代码:

"C:\Program Files (x86)\Anti-Virus\" d:\files\%1\ProcessFiles\%2-proc\*.* 

此代码不能运行:

START/WAIT "C:\Program Files (x86)\Anti-Virus\fsav" d:\files\%1\ProcessFiles\%2-proc\*.* 

当这条线运行,我得到一个错误说:

"Windows cannot find 'd:\files\abc\ProcessFiles\abc-proc\*.*'. 
Make sure you typed the name correctly, and then try again." 

虽然该错误提示已打开,如果我导航到该文件夹​​,那里有文件。

在此先感谢您的帮助。使用提示

+0

什么是你想运行的程序? 'C:\ Program Files(x86)\ Anti-Virus'似乎是一个文件夹,而不是一个程序,如果我们把它作为一个标题,那么'd:\ files \%1 \ ProcessFiles \%2-proc \ *。*'似乎是多个文件,而不是单个程序 – SeanC

+0

道歉,我混淆了太多。在我的代码中,该行读取“C:\ Program Files(x86)\ F-Secure \ Anti-Virus \ fsav”。我永远不知道从我的代码中删除多少或少量真实的信息。 – Tyson

回答

1

SS64
始终包括TITLE这可以是一个简单的字符串,如“我的脚本”或只是一对空引号的“”
根据微软的文档,标题是可选的,但您 可能 将会有问题,如果它被省略。

START "" /WAIT "C:\Your Anti-Virus\antivir" "d:\files\%1\ProcessFiles\%2-proc\*.*

+0

谢谢肖恩!那样做了。 – Tyson

1

START/WAIT是没有一个字,它是由两个用空格分隔。
此外,如果文件规范中有任何空格,则在文件规范周围放置双引号将有所帮助。

试试这个:

START /WAIT "C:\Program Files (x86)\Anti-Virus\fsav" "d:\files\%1\ProcessFiles\%2-proc\*.*" 
+0

纠正我,如果我错了,但我想我在研究这个问题时把'*。*'放在引号中会使它不能按预期工作。意思是,它不会再列出所有文件。情况并非如此吗? – Tyson

+0

@Tyson:我从来没有遇到过这个问题,并且在使用带有空格的路径时这是必要的。 –

+0

@Tyson'CD'到一个包含许多文件的目录,并在命令提示符下输入:'for%x in(“*。*”)do set/a count = count + 1',然后做一个'DIR'和比较数字。 –

相关问题