在一个批处理中运行多个任务不起作用

时间:2012-10-15 08:45:15

标签: batch-file

我有以下bat文件,它分析文件大小超过10000kb(好吧,这不是很大,但它目前正在测试。然后我希望它提示一个消息框并打开P:\bogfiles目录但是我的批处理不这样做,它只想完成一个移动文件的任务。

当找到大于X(或我们的测试示例中10000kb)的文件时,如何让多个函数在彼此的coneseeion中运行?

pushd c:\Myfolder
md P:\bigfiles2
for %%a in (*.*) do if %%~za gtr 10000 move %%a P:\bigfiles2

1 个答案:

答案 0 :(得分:0)

就像巴厘岛C所说,你的问题并没有反映你的代码。您声明您的脚本除了移动文件之外不想执行任何其他任务。您的代码似乎没有任何其他任务要完成。

如果你问如何获得它所以你可以让它做多个命令,有几种方法。您可以将它们放在一个块中(这是最常用的方法),也可以滥用&符号(&)。 e.g

pushd c:\Myfolder
md P:\bigfiles2
for %%a in (*.*) do if %%~za gtr 10000 (
move %%a P:\bigfiles2
msg * "Is this what you were referring to as a a message box?"
%SystemRoot%\explorer.exe "P:\bogfiles"
)

或者

pushd c:\Myfolder
md P:\bigfiles2
for %%a in (*.*) do if %%~za gtr 10000 move %%a P:\bigfiles2 & msg * "This is very messy code." & %SystemRoot%\explorer.exe "P:\bogfiles"

最底层的示例几乎应该永远不会,因为它会使您的代码对大多数其他程序员来说无法读取。