Windows 8.1命令行 - 输入重定向不起作用

时间:2015-10-15 19:48:55

标签: command-line windows-8.1

大家,我正在尝试使用Windows命令行来完成一些小工作。我正在测试输入重定向,但它似乎不起作用:

我创建了一个包含以下字符串的test.txt文件: *.txt

如果我输入:dir /B *.txt,我会获得目录中的.txt文件列表。

如果我键入:dir /B < test.txt,结果等同于dir /B,即忽略输入重定向。该文件是使用wordpad创建的。什么出错了?

谢谢,

最高

修改:如果我尝试dir /B $( < test.txt),会弹出一条错误消息:The system cannot find the file specified

2 个答案:

答案 0 :(得分:0)

输入重定向不适用于dir,因为它根本不期望来自stdin的输入。如果它会对标准输入做出反应,那么当您运行dir而没有任何参数时,它只会暂停并等待输入。 如果你想从文件中读取模式,请执行以下操作:

for /f %%i in (pattern.cfg) do set pattern=%%i
dir /b %pattern%

这会将pattern.cfg文件中的最后一行(或唯一一行)推送到变量模式中。

答案 1 :(得分:0)

略有变化,但这对我有用:

for /f "delims=" %i in (test.txt) do set output=%i
dir /b %output% 

请注意,这可以直接在命令行中使用,但在批处理文件中,您应该将&#39;%&#39;如上面的答案所示的标志。