我正在尝试将 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
)