0

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

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

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

1 回答 1

0

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

如果您询问如何获取它以便可以使其执行多个命令,则有几种方法。您可以将它们放在一个块中(这是最常用的方法),也可以滥用与号 (&)。例如

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"

底部的示例几乎应该被使用,因为它会使您的代码对大多数其他程序员不可读。

于 2013-02-10T04:43:26.893 回答