単純なバッチファイルを実行しようとしています:
@echo off <-- don't print this line or any of the preceeding lines to the console window.
pushd "K:\" <-- in the quoted directory
for %%j in (*) <-- for every file in the directory
do
if %%~zj <-- if the size of the file
lss 37000 <-- is less than 37k
del %%j <-- delete the file
popd <-- go back to original directory.
@echo off
とpushd
でエラーが発生し始めましたが、cmd.exe
でpushd
を試してみると問題なく動作します。私は簡単なものを見逃していると確信しています。
何か案は?
これは、プログラムを使用してバッチファイルを開始し、バッチファイルが最初にcmd.exe/cを呼び出さない場合に発生します。 pushd.exeはありません。cmd.exeの下の組み込みコマンドです。ただし、プログラムがバッチファイルを呼び出すと、直接起動します。cmd.exeはありません。 (はい、これは奇妙です。)
解決策:これをどこから実行しても、前にcmd.exe/cを付けます
したがって、deletelittlefiles.batを実行している場合は、cmd.exe/cdeletelittlefiles.batに変更してください。
出典:私はソフトウェアテストチームのラボマネージャーであり、テストハーネスは実行可能ですが、cmd.exeで起動せずに実行する必要はありません。