2012-05-24 35 views
0

我有一個批處理腳本解壓縮並重命名每個文件。
不幸的是我現在需要保留它來自的zip文件的文件名。幫助Windows批處理腳本中的編碼更改?

示例Jazz1.zip現在解壓縮,輸出文本文件變爲1.Jazz1.zip.txt
所以我想%%F成爲%%F - 4 - 字符。我想讓它成爲Jazz1.txt

::Setup the stage... 
SETLOCAL ENABLEDELAYEDEXPANSION 
SET folder=C:\P\DataSource2_W 
SET count=1 

::Action 
CD "%folder%" 
FOR %%F IN ("*.zip") DO (

"C:\Program Files (x86)\WinZip\wzunzip" %%F 
    MOVE *.txt "C:\P\DataSource2_W\TextFiles\!count!%%F.txt" 
    SET /a count=!count!+1 
) 
ENDLOCAL 

回答

2

我不明白你正在嘗試與計數變量做的,也不我知道你是如何處理與多個.txt文件的ZIP文件。

但我明白,你想要每個ZIP文件的基本名稱,(名稱沒有擴展名)。這很簡單 - 只需使用〜n修飾符(從命令提示符鍵入HELP FOR獲取更多信息)。

所以如果%%F = Jazz1.zip,然後%%~nF產生Jazz1