在一批中,我有一个
for /d /r %%a in (*) do
如果 %%a 包含“ - ”(即空格 + 连字符 + 空格),我想做一个动作,如果它不包含这个字符串,我想做另一个动作。
我不能让它工作!你有什么主意吗?谢谢。
[PS:我的问题与此类似:批处理文件:查找子字符串是否在字符串中(不在文件中) ,但我无法对其进行调整以使其工作!]
在一批中,我有一个
for /d /r %%a in (*) do
如果 %%a 包含“ - ”(即空格 + 连字符 + 空格),我想做一个动作,如果它不包含这个字符串,我想做另一个动作。
我不能让它工作!你有什么主意吗?谢谢。
[PS:我的问题与此类似:批处理文件:查找子字符串是否在字符串中(不在文件中) ,但我无法对其进行调整以使其工作!]
请试试这个:
for /d /r %%a in ("* - *") do
它应该工作。
编辑:for /d /r
循环只找到名称-
中带有“ ”的文件夹,因此不需要对路径进行额外测试。
@ECHO OFF
SETLOCAL
FOR /d /r %%a IN (*) DO (
ECHO "%%~nxa"|FIND " - " >NUL
IF ERRORLEVEL 1 (ECHO DO action ONE ON "%%a"
) ELSE (ECHO action TWO gets done ON "%%a")
)
FIND 用于-
在“leaf”目录中定位“”,因此只有最底层包含“ -
”时才会执行动作二,否则执行动作1。
如果您希望它-
在文件路径中的任何地方出现“”使操作二发生,然后更改%%~nxa
为%%a