Windows批处理文件ECHO命令的问题

时间:2015-06-24 09:43:12

标签: batch-file

我有以下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> &

换句话说,输出整个扩展命令。

我想知道是否有人可以帮助指出错误。

由于

1 个答案:

答案 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

请注意&

之前的空格