2013-03-28 243 views
1

我想每个文件夹(在for环路)的名称分为2个部分:左边部分(分隔符之前“ - ”)和右部(分隔符后) 。将一个字符串分解成两个部分批次

例: “卓悦 - 谢尔AMI”=>左=卓悦,右=雪儿阿米

但它不工作:

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

在此先感谢

+1

你想读取文件夹名称并分割名称并打印它们吗? – Illusionist

回答

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%%] 
) 

如果在t中没有“-”他的文件夹名称,然后%左%%==右%。

+0

谢谢! 它现在,但如果'%% A = blablahehe',然后'左= blablahehe''权= hehe',而不是'左= blabla''右= hehe' – Basj

+1

是的,你说得对,代码需要更多'%%'。将做一个(希望最后)编辑:) – Endoro

相关问题