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)
尝试这个
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文件名。
完成所有提取和重命名后,它将所有文本文件移回原始文件夹并删除临时文件夹。
希望这可以帮助。
for %F in (*.zip) do 7z e "%F" -so >"%~nF.txt"
- 前提是您所说的 zip 存档中只有 1 个文件(显示为直接从命令行执行,如果用于批量使用%%F
)