截至目前,我使用如下批量执行操作。 (/ *“)DO命令中的FOR / D %% G
如果我可以使用IF循环执行相同操作,请提供建议,我该怎么做。 或建议是否有任何简单的方法来执行
答案 0 :(得分:1)
您可以查看%%G
变量以查看文件夹名称。从那里,您可以获取最后6个字符,并查看值是否为Shared
。
我们使用SETLOCAL ENABLEDELAYEDEXPANSION
,以便我们可以更新循环内的变量。
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /D %%G in ("*") DO (
SET str=%%G
IF /I "!str:~-6!" NEQ "Shared" (
Command
)
)
PAUSE
答案 1 :(得分:1)
另一个选择是使用FINDSTR过滤DIR命令的输出并使用FOR / F处理结果。
for /f "eol=: delims=" %%G in ('dir /b /ad ^|findstr /lie "shared"') do command
这是一个更强大的LittleBobbyTables解决方案版本,可与文件夹名称中的!
一起使用。它也适当地进行了不区分大小写的比较。
setlocal disableDelayedExpansion
for /d %%G in (*) DO (
set "str=%%G"
setlocal enableDelayedExpansion
if /i "!str:~-6!" neq "shared" command
endlocal
)