gpt4 book ai didi

windows - 如何递归搜索文件但仅对使用批处理文件找到文件的实例进行操作?

转载 作者:可可西里 更新时间:2023-11-01 14:22:04 31 4
gpt4 key购买 nike

我的脚本的目标是在给定起始路径的情况下递归地搜索单个文件名(不同文件夹中存在同名文件),并输出找到的每个文件的路径,不包括名称和扩展名。

出于某种原因,我整个上午都在纠结于此。我已经生成了以下代码。

@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 循环或语法的用法的?

最佳答案

对我来说,使用 DIR 命令来执行此操作似乎更明显。请参阅 DIR/? 命令的输出中 /A:-D-S-L 的含义。

FOR /F "tokens=*" %%x IN ('DIR /S /B /A:-D-S-L "D:\Workspaces\fwarrener-lglesias\Example\Example\Clients\EnterpriseSettings.config"') DO (
echo "%%~nxx"
echo "%%~dpx"
)

关于windows - 如何递归搜索文件但仅对使用批处理文件找到文件的实例进行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50718961/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com