我寫了一個bat要將拖曳的全部項目壓成一個壓縮檔
當遇到unicode路徑時可能會發生問題
因為產生的 listfile.txt 是ANSI編碼,有些字元會變成亂碼
求大大們賜教
------------------------------------------------------------
已解決
@echo off
set a=%~dp0\7zG.exe
if "%~1"=="" goto end
set listfile=%~dp1%listfile.txt
if not "%~2"=="" goto Multi
set output_file=%~dp1%~n1.7z
goto CreateList
:Multi
for %%a in ("%~f1\..") do (
set output_file=%~dp1%%~nxa.7z
)
:CreateList
chcp 65001
:LOOP
if "%~1"=="" goto Window
echo "%~1" >> "%listfile%"
shift /1
goto LOOP
:Window
"%a%" a -ad "%output_file%" @"%listfile%" -scsUTF-8
del "%listfile%"
:end
王牌大騙子 wrote:
請你在7-zip的說明裡頭在搜尋裡打unicode,7-zip預設不是unicode處理。
參數:-scs{UTF-8 | WIN | DOS},請改成UTF-8...(恕刪)
因為自動產生的 listfile.txt 是ANSI編碼,所以才用 -scsWIN
王牌大騙子 wrote:
ultraedit有ANSI轉UTF8的功能,請試試看。
不自動產生 UTF8 編碼的 txt 就沒意義了
目的只是要將拖曳的全部項目壓成一個壓縮檔
能達到相同結果,不使用 listfile.txt 也無所謂
但還是想知道 bat 能否產生 UTF8 編碼的 txt 檔
除了"建個新資料夾將要壓縮的項目丟進去後對此資料夾壓縮"以外
因為不要搬移任何檔案
kingdragon wrote:
想知道 bat 能否產生 UTF8 編碼的 txt 檔
可以.
螢幕錄影:
附加壓縮檔: 201110/mobile01-7f027c415a624f53ae9b20f65625aa99.zip
☆ 私人訊息直接刪除不再回覆 ☆ 願望 : bovuhPPjMnEfkyhggnsJdABaLFPuhXT4




























































































