我的问题陈述本身很清楚我实际需要做什么。
目前,这适用于我所在的当前目录中的文件。
for /r %%F in (*) do call set files=%%files%% "%%F"
echo %files% >> ..\..\TargetFolder\a\targetfile.config
但是我想向上移动两个文件夹,然后在一个文件夹中挖掘,并且有多个文件夹。我想要所有这些文件夹的名称。
例如,如下所示:
for /r %%F in (..\..\TargetFolder\) do call set files=%%files%% "%%F"
echo %files% >> ..\..\TargetFolder\a\targetfile.config
如果您可以告诉我是否可以将它们保留在数组中,或者在for循环中逐个打印它们,并且还可以在每次迭代中执行其他一些操作,则对我有很大的帮助。
这是另一种方式。很高兴您已经有了解决方案。我担心将所有目录名放在一个变量中,因为它可能太长。如果有很多,我将按以下方式分别处理它们,或将列表写入文件以供以后处理。
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=*" %%d IN ('powershell -NoProfile -Command "Get-ChildItem -Path '..\..' -Directory | ForEach-Object { $_.FullName }"') DO (
SET "THEDIR=%%~d"
ECHO Do something with "!THEDIR!"
)
如果要最大化隐秘符号并降低理解力,可以使用别名和最小参数名称。
FOR /F "tokens=*" %%d IN ('powershell -nop "ls -Path '..\..' -dir | %%{$_.fullname}"') DO (
SET "THEDIR=%%~d"
ECHO Do something with "!THEDIR!"
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句