0

我有一个批处理脚本,可以解压缩并重命名每个文件。
不幸的是,我现在需要保留它来自的 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
4

1 回答 1

2

我不明白您要对 COUNT 变量做什么,也不明白您如何处理包含多个 .TXT 文件的 ZIP 文件。

但我知道您需要每个 ZIP 文件的基本名称(不带扩展名的名称)。这很容易 - 只需使用 ~n 修饰符(HELP FOR从命令提示符键入以获取更多信息)。

因此,如果%%F= Jazz1.zip,则%%~nF产生Jazz1

于 2012-05-24T11:26:31.433 回答