スプールファイルをスプールフォルダからプリンタに1つずつ送信したいのですが、各ファイルを処理した後、別のフォルダに移動するか削除します。 しかし、バッチファイルの下で実行しようとすると、バッチ処理のためにプリンタに送信せずにスプールファイルを直接移動します。Windowsのバッチファイルで1つずつコマンドを2つ実行したい
for %%f in (C:\WINDOWS\system32\spool\PRINTERS\*.SPL) do (
echo %%~nf
start "" E:\spool\xyz\tp.exe "C:\WINDOWS\system32\spool\PRINTERS\%%~nf.SPL" "HP Printer"
move "C:\WINDOWS\system32\spool\PRINTERS\%%~nf.SPL" d:\%%~nf.txt
)
Windows PowerShellを使用せずに他のオプションが必要です。
ありがとうございます。
なぜ「START」を使用するのですか? 'E:\ spool \ xyz \ tp.exe etc ... 'というコマンドだけでバッチファイルが待ちます。 –
@ J.Baoby私はあなたのソリューションを試しましたが、スプールファイルはプリンタに送られず、別の場所に直接移動しました。そしてabot tp.exeプログラムはそれを処理するために何も印刷しないためにプリンタにスプールファイルを送るだけです。私はPowehellを使ってうまく動作しましたが、いくつかの古いウィンドウPCはpowershellを持っていませんのでバッチファイルで行う必要があります。 –
@ dev.Sumitは別の実行可能ファイルで私のために働いていました。スプールファイルが実際に送信されると 'tp.exe'は必ず終了しますか?プリンタに接続し、ファイルを送信する代わりに送信する別のプロセスを開始することができますか? –