2015-06-17 32 views
0

我的問題是這樣的:批處理腳本:在文件名稱替換每一個「@」,「_」,在網絡驅動器,包括子文件夾

我想替換每個特殊字符,如文件名中「@」。

例子:

舊文件:[email protected]
新文件:test_home.txt

這應該包括子文件夾一個特殊的文件夾選擇來完成。用戶應該輕鬆更改位置(文件夾)。

好吧,我試試這個,但我不知道如何:

%PATH% = G:\Tests\Folder 

::Replace '@' with '_' 
    SET [email protected] 
    SET _result=%_test:_=file 
    ECHO %_result%   =test_file 
+1

閱讀http://ss64.com/nt/for_cmd.html和http://ss64.com/nt/syntax-replace.html – JosefZ

回答

0

set語法替換字符串:

set "var1=my old hat" 
set "var2=%var1:old=new%" 
echo %var1% was better than %var2% 

要獲得所有TXT的文件:

for %%i in (*.txt) do (
    echo %%i 
    rem substitution does not work with special %%i variable type 
    set "oldname=%%i" 
    set "newname=!oldname:@=_!" 
    echo rename "!oldname!" "!newname!" 
) 

爲什麼!而不是%?請參閱here

相關問題