我想将每个文件夹的名称(在for
循环中)分成两部分:左边部分(分隔符“ - ”之前)和右边部分(分隔符之后)。
示例:“Bonjour - Cher ami”=> left = Bonjour,对= Cher Ami
但它不起作用:
for /d %%a in (*) do (
set "fname=%%a"
set "right=%fname:* - =%"
call set "left=%%fname: - %right%=%%"
echo [%left%] * [%right%]
)
提前致谢
答案 0 :(得分:1)
在代码块中,您需要另一种语法:
@echo off &setlocal
for /d %%a in (*) do (
set "fname=%%~a"
call set "right=%%fname:* - =%%"
call call set "left=%%%%fname: - %%right%%=%%%%"
call echo [%%left%%] * [%%right%%]
)
如果文件夹名称中没有“-
”,则%left%==%right%。