我有以下Windows批处理文件,它获取目录中每个.txt
文件的列表,打印消息,并调用命令来处理每个文件。
@echo off
SETLOCAL
for /r %%F in (.\*.txt) do (
echo processing %%F
&& my_comand < "%%F"
)
ENDLOCAL
总的来说,批处理文件有效,但有两个小问题。
首先,而不仅仅是打印
processing <FILE_NAME>
此
打印 processing <FILE_NAME> &
- 请注意尾随(
。
第二个,对于第二个及后续文件,写入以下内容:
C:\...\bin>(
echo processing <MY_FILE> & & my_command 0<<FILE_NAME>
)
processing <FILE_NAME> &
换句话说,输出整个扩展命令。
我想知道是否有人可以帮助指出错误。
由于
答案 0 :(得分:4)
使用普通/通常的语法
要容易得多@echo off
SETLOCAL
for /r %%F in (*.txt) do (
echo processing %%F
my_comand < "%%F"
)
ENDLOCAL
无论如何,这个应该工作
@echo off
SETLOCAL
for /r %%F in (*.txt) do ^
echo processing %%F ^
& my_comand < "%%F"
ENDLOCAL
请注意&