2017-03-09 17 views
0

Win7 64bitマシン上の新しいpdfファイル用のフォルダを見たいのですが、そのフォルダにpdfファイルがあるときに自動的に印刷します。印刷後、pdfファイルをサブフォルダ内に移動する必要があります。だから、いくつかのGoogleの研究の後、私は小さなバッチファイルをしました。スケジュールされたタスクとプリンタ

cd "D:\print" 
for %%i in (*.pdf) do (
"C:\Program Files\Tracker Software\PDF Viewer\PDFXCview.exe" /print "%%i" 
timeout /T 10 /nobreak 
move D:\print\*.pdf D:\print\printed 
echo %%i 
) 

これをd:\ printという名前でprint.cmdという名前で保存しました。ダブルクリックでcmdを起動すると、プリンタが動作を開始し、pdfファイルが定義したサブフォルダ(D:\ print \ printed)に移動します。

フォルダを見るには、このcmd-scriptを5分ごとに繰り返すスケジュールされたタスクを作成することを考えました。

BUT: スケジュールされたタスクでスクリプトを開始すると、プリンタが動作していません。代わりに、ファイルの「動き」が働いています。

プログラム:C:\ WINDOWS \ SYSWOW64 \ cmd.exeの

引数:

私は、スケジュールされたタスクに入力された「

どれを/c"d:\print\print.cmdアイデア、なぜ私はスケジュールされたタスクを介してプリンタにアクセスできないのですか? プリンタはusb経由で接続されています。

希望の情報を提供できますか?あなたの答えをありがとう!

+1

'移動D:\印刷\ * PDFファイルD: \ print \ printed'は 'D:\ print \ %% i D:\ print \ printed'に移動する必要があります。そうでなければ' pdf'の* all *は1つだけ印刷された後に移動されます。私はスケジュールされたタスクの専門家だとは言えませんが、スケジュールされたタスクが実行されるユーザーの下で定義されたデフォルトのプリンタは、必要なUSBプリンタではないようです。 'PDFXCview.exe'引数で明示的にプリンタを指定できますか? – Magoo

+0

フォルダ内の開始を選択しましたか?作業ディレクトリをC:ドライブ上のsystem32ディレクトリにするcmd.exeを起動しています。したがって、変更ディレクトリを作成する場合は、/ Dオプションを使用して作業ディレクトリをD:ドライブにする必要があります。実行するバッチファイルをダブルクリックすると、作業ディレクトリはD:ドライブになります。なぜなら、その場所はスクリプトが格納され実行されている場所だからです。 – Squashman

+0

うわー!私は自分の仕事の作業ディレクトリとしてd:\ printを追加しました。それは即座に機能しました!本当にありがとう!私はいくつかのテストとチェックを行う必要があります。スクリプトを改善するためにもう一度手伝ってもらえることを願っています; – user3325687

答えて

1
  1. 変更この行:実際の代わりにCMDを呼び出し、引数にスクリプトへのパスを置くことで、あなたのバッチファイルを起動するmove D:\print\*.pdfポイント

  2. move /Y D:\print\%%iにスケジュールされたタスク。

あなたは一度だけ、それを開始する必要がありますので、また、それはループに5分ごとにバッチファイルとコードを編集できます。

PushD %~dp0  
    :start 
    for %%i in ("D:\print\*.pdf") do (
    "C:\Program Files\Tracker Software\PDF Viewer\PDFXCview.exe" /print "%%i" 
    move /y "%%i" "D:\print\printed" 
    echo %%i 
    ) 
    timeout /T 300 /nobreak 
    goto start 
+1

%%はファイルへのパス全体ですので、移動コマンドが使えます。 'move/y" %% i "" D:\ print \ printed "' – Squashman

+0

試してみました。フォルダに3つのファイルがある場合、最初のファイルを印刷して移動し、2番目のファイルを印刷して移動します。かなりうまく動作します。 5分ごとに動作するタスクを作成するか、t300とgoto startで作業する方が良いでしょう。それから私はPCの起動時にのみタスクを開始する必要があります、あなたは私に何をアドバイスしますか? CMDウィンドウを最小化しておくか、または動作時に非表示にするオプションはありますか? – user3325687

+1

本当に。私は、5分ごとに実行されているタスクがいくつかの冗長性を提供すると思うので、cmdウィンドウが失敗した場合、タスクは誰かがログオフして戻ってくるのを待つのではなく、5分ごとに再起動します。システムアカウントを使用して実行するようにスケジュールされたタスクを設定し、ログオンしたユーザーに表示されないようにします。 – Rawns

関連する問題