Batch file 将find命令放入批处理文件中
以下命令在CMD窗口中运行良好。它列出了包含单词“NOTE”但不包含“NOTES”的目录Batch file 将find命令放入批处理文件中,batch-file,Batch File,以下命令在CMD窗口中运行良好。它列出了包含单词“NOTE”但不包含“NOTES”的目录 dirc:\myfiles\mydirectories/s/b/ad |查找“NOTE”|查找“NOTES”/v 当我将命令放入批处理文件中时,CMD会抱怨无效开关-v dirc:\myfiles\mydirectories/s/b/ad^查找“NOTE”^查找“NOTES”/v 我做错了什么?谢谢 这是在Windows 7上。您是否: 在将其作为命令放入批处理文件时转义管道? 如果是这样的话,不要逃避管道
dirc:\myfiles\mydirectories/s/b/ad |查找“NOTE”|查找“NOTES”/v
当我将命令放入批处理文件中时,CMD会抱怨无效开关-v
dirc:\myfiles\mydirectories/s/b/ad^查找“NOTE”^查找“NOTES”/v
我做错了什么?谢谢
这是在Windows 7上。您是否:
如果是这样的话,不要逃避管道
dir c:\myfiles\mydirectories /s /b /ad |find "NOTE" |find "NOTES" /v
如果是,请在管道上保留转义字符。 我的意思是:
for /f "delims=" %%a in ('dir c:\myfiles\mydirectories /s /b /ad ^|find "NOTE" ^|find "NOTES" /v') do echo Something
如果是,则放弃转义字符。 我的意思是:
for/f“delims=“%%a in('call')执行回显操作
如果是这样的话,不要逃避管道
dir c:\myfiles\mydirectories /s /b /ad |find "NOTE" |find "NOTES" /v
如果是,请在管道上保留转义字符。 我的意思是:
for /f "delims=" %%a in ('dir c:\myfiles\mydirectories /s /b /ad ^|find "NOTE" ^|find "NOTES" /v') do echo Something
如果是,则放弃转义字符。 我的意思是:
for/f“delims=“%%a in('call')执行回显操作
使用
findstr
您只需要一根管道:
dir c:\myfiles\mydirectories /s /b /ad|findstr "\<NOTE\>"
dirc:\myfiles\mydirectories/s/b/ad | findstr“\”
或使用for循环:
for /f "delims=" %%a in ('dir "c:\myfiles\mydirectories" /s /b /ad^|findstr "\<NOTE\>"') do echo %%~a
对于/f“delims=”('dir“c:\myfiles\mydirectories”/s/b/ad^ findstr“\”)中的%%a,执行echo%%a
\
是单词结尾的正则表达式有关更多帮助,请参见
help findstr
。使用findstr
您只需要一根管道:
dir c:\myfiles\mydirectories /s /b /ad|findstr "\<NOTE\>"
dirc:\myfiles\mydirectories/s/b/ad | findstr“\”
或使用for循环:
for /f "delims=" %%a in ('dir "c:\myfiles\mydirectories" /s /b /ad^|findstr "\<NOTE\>"') do echo %%~a
对于/f“delims=”('dir“c:\myfiles\mydirectories”/s/b/ad^ findstr“\”)中的%%a,执行echo%%a
\
是单词结尾的正则表达式有关更多帮助,请参见帮助查找TR