我的脚本的目标是递归搜索单个文件名(在不同文件夹中存在该名称的文件),给定起始路径并输出找到的每个文件的路径,不包括名称和扩展名。
由于某种原因,我卡在这里了整个上午。我已经编写了以下代码。
@echo off
for /r D:\Workspaces\fwarrener-lglesias\Example\Example\Clients %%x in (EnterpriseSettings.config) do (
echo %%~nxx
echo %%~dpx
)
我之前从其他人的回答和文档中得出的印象是,只有在括号内找到文件时,才会执行“do”子句中的命令。然而,当执行并将其导入文件时,输出了大量不必要的行,其中甚至包括它所在的目录,即使没有找到文件。我对此感到困惑,因为我认为指定集合的整个意义在于只有在找到文件名的情况下才会执行“do”中的命令。
D:\Workspaces\fwarrener-lglesias\Example\Example\Clients\Example\
D:\Workspaces\fwarrener-lglesias\Example\Example\Clients\Example\Example\
D:\Workspaces\fwarrener-lglesias\Example\Example\Clients\Example\Example\Config\
D:\Workspaces\fwarrener-lglesias\Example\Example\Clients\Example\Example\Config\Stage\
请问有谁能够告诉我,我如何误解了for循环或语法的使用?
Powershell
中吗?因为 PS 对FileSystem
有更多的控制权。运行batch
的特定原因是什么? - AlexEnterpriseSettings*.config
可能会解决问题,但可能会包含错误的结果。 - Thomas Weller