我編寫了一個小批處理文件來提取文件夾內所有子文件夾中的所有內容。它工作正常,除了文件名應該是ASCII。下面是工作小碼:如何在批處理文件中使用Unicode名稱
@REM ------- BEGIN rarthem.bat ----------------
@setlocal
@echo off
echo --------------------------------------------------
echo Starting to rar files
echo --------------------------------------------------
echo.
echo.
echo.
set path="C:\Program Files\WinRAR\";%path%
for /D /r %%G in ("*") do (
echo Storing files in %%G
echo --------------------------------------------------
cd %%G
for %%I in (*.*) do (
rar a -x*.rar -x*.zip -m0 -id[c] "%%~nI.rar" "%%I"
echo Done archiving %%~nI%%~xI
)
echo --------------------------------------------------
echo Done archiving %%~nG
echo --------------------------------------------------
echo.
echo.
cd ..
)
echo Finished!
pause
REM ------- END rarthem.bat ------------------
我認爲問題發生在文件名被解析到WinRAR的以及WinRAR沒有問題文件歸檔與Unicode名稱。
編輯:將文件名解析爲WinRAR時,文件名會被修改,所以當WinRAR嘗試使用該名稱查找文件時,它找不到它。例如,一個文件:téxt.pdf在解析時會變成text.pdf。
一個小問題:我沒有嘗試過使用7zip,使用7zip實現同樣的功能會更容易嗎?
非常感謝您的幫助。
你看到了什麼樣的變化?你說文件名應該用ASCII碼,但你說它們是Unicode。你想讓他們以某種方式轉換嗎?使用7zip的測試可保留Unicode字符。我沒有rar。 – 2010-12-04 14:57:44
對不起,我含糊不清。我添加了更多信息。我只是想能夠在不改變名稱的情況下提交文件。可能我會給7zip一個嘗試。 – 2010-12-04 16:59:26