1

我想将每个文件夹的名称(在一个for循环中)分成两部分:左侧部分(在分隔符“ - ”之前)和右侧部分(在分隔符之后)。

示例:“Bonjour - Cher ami” => 左=Bonjour,右=Cher Ami

但它不起作用:

for /d %%a in (*) do (
  set "fname=%%a" 
  set "right=%fname:* - =%" 
  call set "left=%%fname: - %right%=%%" 
  echo [%left%] * [%right%]
)

提前致谢

4

1 回答 1

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%。

于 2013-03-28T23:24:22.967 回答