フォルダー内の複数のファイルを名前の順番や作成順に印刷する。
- 印刷したい順番にコピー元フォルダーから「クラウド対応自動印刷」の"監視フォルダー"に投入します。
- ファイルのコピーの順番の指定はバッチファイルではできませんので PowerShell スクリプトを利用します。
- 下記サンプルスクリプトではファイルの ”名前順" にPDFファイルをフォルダーにコピーします。
- 「クラウド対応自動印刷」でフォルダー 'd:\自動印刷' を監視フォルダーに設定し自動的に印刷します。
$fromDir = 'd:\元フォルダー\*.pdf' # コピー元のディレクトリ
$targetDir = 'd:\自動印刷' # コピー先のディレクトリ = クラウド対応自動印刷の監視フォルダー
# コピー元のディレクトリから全てのファイルを取得し、名前順にソート
$files = Get-ChildItem -Path $fromDir | Sort-Object
# 各ファイルをコピー先のディレクトリにコピー
foreach ($file in $files) {
Copy-Item -Path $file.FullName -Destination $targetDir
# コピー間隔(秒)
Sleep 3
}
応用として ファイル名の降順、作成順、更新順 などスクリプトを変更してご利用ください。
例)
Sort-Object -Descending
Sort-Object -CreationTime
Sort-Object -LastWriteTime
- 本番前テストでクラウド対応自動印刷を停止した状態で意図した順番にファイルが 'd:\自動印刷' フォルダーにコピーされるか目視で確認します。
- 最後に「クラウド対応自動印刷」の監視フォルダーに ”D:\自動印刷” を設定します。
さらに自動化するためにはWindows スケジューラを利用することができます。
例えばPowerShellスクリプトを毎日8:00に実行するには、Windowsのタスクスケジューラを使用できます。以下に手順を示します。
- タスクスケジューラを開く: スタートメニューを開き、「タスクスケジューラ」を検索して開きます。
- 新しいタスクを作成する: 「アクション」メニューから「基本タスクの作成」を選択します。
- タスクの詳細を設定する: タスクの名前、説明を入力し、「トリガー」を設定します。ここでは、「毎日」を選択し、開始時間を8:00に設定します。
- アクションを設定する: 「新規」をクリックし、「プログラムの開始」を選択します。プログラム/スクリプトのフィールドに「powershell.exe」を、引数のフィールドにスクリプトのパスを入力します。
- タスクを保存する: 「次へ」をクリックし、設定を確認したら「完了」をクリックします。