重命名基于zip文件的提取文件

And*_*kes 4 rename extract batch-file

我有多个zip文件,其名称分别为001.zip,002.zip,003.zip,并且有可能升至999.zip。每个zip文件只有一个文本文件。我想使用Batch提取每个zip文件,然后将其提取的文本文件重命名为zip的文件名。

例如,如果我提取001.zip,则我希望提取的文本文件(所有提取的文本文件具有不同的名称)的名称为001.txt。

我至少现在正在提取所有文件,但是我对Batch不太熟悉,并且不确定是否有一种简单的方法来执行此操作?

cd test
echo     Decompressing zip4 data.
7z e *.zip
Run Code Online (Sandbox Code Playgroud)

Bal*_*i C 5

尝试这个

md textfiles
for %%f in (*.7z) do (
7z e "%%f"
move *.txt textfiles\%%~nf.txt
)
xcopy textfiles\*.txt originalfolder
rd textfiles /s /q
Run Code Online (Sandbox Code Playgroud)

只需确保此文件夹中没有现有的文本文件即可。它只是创建一个临时文件夹,然后将所有文本文件移动到那里(此时只有提取的文件存在,但这是因为文件名未知),然后将其重命名为zip文件名。

完成所有提取和重命名后,它将所有文本文件移回原始文件夹并删除临时文件夹。

希望这可以帮助。


wmz*_*wmz 5

for %F in (*.zip) do 7z e "%F" -so >"%~nF.txt"- 前提是您所说的 zip 存档中只有 1 个文件(显示为直接从命令行执行,如果用于批量使用%%F