我想批量提取某些目錄中某些zip中的某些rar。長話短說,這是我的循環通過RAR文件:批量提取名稱中帶空格的rars
for %%r in (*.rar) do (
unrar x %%r
)
問題是,%% - [R可能得到錯誤的值。如果文件名是「file name.rar」,那麼%% r獲得值「文件」 - 它停在文件名的第一個空格處。
如何獲得此循環以使用帶名稱空格的文件文件?
謝謝
我想批量提取某些目錄中某些zip中的某些rar。長話短說,這是我的循環通過RAR文件:批量提取名稱中帶空格的rars
for %%r in (*.rar) do (
unrar x %%r
)
問題是,%% - [R可能得到錯誤的值。如果文件名是「file name.rar」,那麼%% r獲得值「文件」 - 它停在文件名的第一個空格處。
如何獲得此循環以使用帶名稱空格的文件文件?
謝謝
試試這個:
for /f "usebackq delims==" %i in (`dir /b *.rar`) do unrar x "%i"
如果您在批處理文件中使用它,請記住你需要加倍百分號逃避它們。
%%r
將包含完整的文件名稱,包括空格。這是您撥打unrar
時遇到的問題。如果文件名包含空格,則必須用引號將其括起來,否則unrar
將不能看到兩個(空格分隔的)參數file
和name.rar
實際上是帶空格的單個文件名。
所以下面的工作:
for %%r in (*.rar) do unrar "%%r"
另外,如果你AER好奇的問題所在,它有時非常有用只需更換回聲程序調用:
for %%r in (*.rar) do @echo %%r
,你會看到%% r包含文件名中的空格,並不會將它們分開。
我想到了,但它仍然不會這樣工作。它接近%%真的有一個錯誤的價值,報價會做很多。 也許我還有別的錯誤......我不知道。 – Bojan 2009-05-05 13:18:50
非常感謝。 – Bojan 2009-05-05 13:16:18