0

10000kbを超えるファイルサイズを分析する次のbatファイルがあります(それは大きくはありませんが、現時点ではテストするためのものです。メッセージボックスを表示してP:\bogfilesディレクトリを開くようにしたいのですが、バッチはそうしません。ファイルを移動する 1 つのタスクだけを完了したいのです。

X (テストの例では 10000kb) より大きいファイルが見つかった場合、複数の関数を相互に接続して実行するにはどうすればよいですか?

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

1 に答える 1

0

Bali 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 に答える