如何将文件输入到读取 stdin 的程序中(在 Windows 命令行上)?

如何将文件输入到读取 stdin 的程序中(在 Windows 命令行上)?

我有一个程序P处理标准输入。我该如何输入文件进入这个程序Windows 命令行

P < filename

不起作用。

filename | P
filename > P

也不起作用。

编辑

事实上,再次尝试

P < filename

或者

grep abc < lab.txt

确实有效

答案1

我尝试了这个脚本,将文件名的内容设置为变量“a”,然后将这个变量“a”作为参数提供给“p”程序。

@echo off
for /f "tokens=1 delims={" %%a in ('TYPE filename ^| FINDstr /r "[a-z]"') do (cmd /c p "%%a")
pause

请注意,此脚本有许多限制,因为我在 findstr 命令中使用了正则表达式,假设 filename 的内容只是文本。我不知道您的 filename 内容是什么,所以您必须对其进行修改以满足您的需求。您还需要修改程序“p”,使其接受参数。希望这对您有所帮助。

相关内容