2012-10-07 100 views
0

我通過文件名有一個文件窗口的命令提示符 - 將文件與特殊字符

[vvv]_PHØDE:GREAKER_-_01_[720p][10bit][z11].mkv 

我如何在命令提示符下移動與移動指令的文件,以這種方式

move "*GREAKER*.mkv" "PHODE_GREAKER_-_01_[720p][10bit][z11].mkv" 

我希望在斷路器之後的第二個*在目的地替換爲_- [720p] [10bit] [z11]。

在linux中,我們可以使用類似於(*。?)的正則表達式,但是我如何在窗口中移動它。

拿走這個[vvv]_PHØDE:and make it as the string "PHODE"

回答

0

在Windows上,MOVE主要用於從一個文件夾移動文件到另一個。如果MOVE命令在單個文件上運行,它只能重命名該文件。如果您在源文件中使用通配符,則應該使用REN(或RENAME)。

但是,你有另一個問題更多的問題。您的文件名中包含:字符,該字符對Windows無效。這可能無法通過標準的Windows命令和實用程序修復。也許下面的超級用戶鏈接之一可以幫助:

+0

好在他沒有 「正常」冒號在文件名中,但是是一個全角冒號(unicode字符'U + FF1A')。 –

+0

@AnsgarWiechers - 啊...... :-) – dbenham

0

試試這個:

setlocal EnableDelayedExpansion 

for %%f in (*GREAKER*.mkv) do (
    set name=%%~f 
    ren "%%~f" "PHODE_!name:~12!" 
) 

endlocal