1

PS 出力をファイルにリダイレクトして、さらに処理しようとしています。このために、出力を CMD.exe に送信するプリンター ポート リダイレクト RedMon を使用しています。

C:\Windows\system32\cmd.exe

引数として、次のようなものが機能することを期待していましたが、機能しません。「%1」には、ファイル名のユーザー入力が含まれています。

/c >"%1"

また

/c 1>"%1"

また

/c |"%1"

また

/c > "%1" 2>&1

出力をバッチファイルに送信してからファイルに書き込むと、ほとんど機能します。

/c WriteOutput.bat "%1"

ただし、バッチファイルは何らかの形でファイルを変更しています(空行をスキップし、感嘆符などを無視します...)可能であれば、バッチファイルを避けたいです。ファイルに「直接」取得する方法はありますか? プリンターオプションで「ファイルに出力」を選択することは、私にとってはオプションではありません。同じ最終結果が必要ですが、cmd.exeを介してさらに処理できます。何か案は?

編集:まあ、それは私が使用したバッチファイルです。先頭の空行とスペースは無視されます。

@echo off
setlocal
set FileName=%1
echo(>%FileName%.ps
for /F "tokens=*" %%A in ('more') do (
    echo %%A>>%FileName%.ps
)
4

1 に答える 1