我有一个批处理脚本解压缩并重命名每个文件 不幸的是,我现在需要保留它来自的zip文件的文件名。
示例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
答案 0 :(得分:2)
我不明白你在尝试用COUNT变量做什么,也不明白你是如何处理带有多个.TXT文件的ZIP文件的。
但我确实理解你想要每个ZIP文件的基本名称(没有扩展名的名称)。这很简单 - 只需使用~n修饰符(在命令提示符下键入HELP FOR
以获取更多信息)。
因此,如果%%F
= Jazz1.zip
,则%%~nF
会产生Jazz1