I am new to batch files and need some help. I want to do the following.
我创建了一个批处理文件,它在文件系统中查找文件夹“Recordings”,并将结果写入文本文件 (results.txt)。之后,它在结果中查找字符串“Directory”。然后我想将 findstr 中的每一行 (每个路径) 与我正在使用的工具的执行命令合并。
批处理文件.bat:
@echo off
dir /S Recordings > C:\testing\results.txt
findstr Directory C:\testing\results.txt
PAUSE
输出如下所示:
C:\testing>batchfile.bat
Directory of C:\testing\Scenarios\Default
Directory of C:\testing\Scenarios\test1
Press any key to continue . . .
现在我想将此输出的每一行与我的执行命令合并:
tool.exe -parameter C:\testing\Scenarios\Default\Recordings
tool.exe -parameter C:\testing\Scenarios\test1\Recordings
答案1
我希望此输出的每一行都与我的执行命令合并
使用以下批处理文件:
@echo off
setlocal
for /f "usebackq" %%i in (`dir /a:d /b /s ^| findstr "Recordings"`) do (
tool.exe -parameter %%i
)
endlocal
进一步阅读
- Windows CMD 命令行的 AZ 索引
- Windows CMD 命令的分类列表
- 目录- 显示文件和子文件夹的列表。
- 对于/f- 循环命令以执行另一个命令的结果。
- 查找字符串- 在文件中搜索字符串。