我已经尝试学习并制作批处理,该批处理将从目录中的所有zip文件中提取一个特定文件,并以以下格式为其命名:filename_%myvariable%.xml
但是我正在努力为提取的文件提供适当的名称。这是我现在的代码:[下面的更新代码]
@echo off
SETLOCAL ENABLEEXTENSIONS
setlocal enabledelayedexpansion
SET me=%~n0
SET parrent=%~dp0
for /R "%parrent%" %%I in (*.zip) do (
7za x "%%I" -o"%%~dpI%%~nI" "ej.xml" -r -y -p2468
rename %%~dpI%%~nI\ej.xml %%~nI%_ej.xml
7za a -tzip "%userprofile%\Desktop\temp\%%~nI.zip" "%%~dpI%%~nI\webatm\*.xml" -r -y
rd /s /q "%%~dpI%%~nI"
)
REM pause
REM EXIT
zip文件结构是这样的:
Name_ArchiveYYYYMMDDHHMMSS.zip
|-webatm
|-file.xml
|-otherfolder1
|-otherfolder2
etc...
作为最终结果,我希望使用以下格式的file.xml输出:Name_YYYYMMDD_file.xml
有人可以帮忙吗?
这里是我编写的代码,它正在运行。不像我预期的那样,但是接近最终解决方案:
@echo off
SETLOCAL ENABLEEXTENSIONS
setlocal enabledelayedexpansion
SET me=%~n0
SET parrent=%~dp0
for /R "%parrent%" %%I in (*.zip) do (
7za x "%%I" -o"%%~dpI%%~nI" "ej.xml" -r -y -p2468
rename %parrent%%%~nI\Webatm\ej.xml %%~nI%_ej.xml
7za a -tzip "%userprofile%\Desktop\temp\%%~nI.zip" "%%~dpI%%~nI\webatm\*.xml" -r -y
rd /s /q "%%~dpI%%~nI"
)
REM pause
EXIT```
i will accept any suggestions / changes or updates regard my final code.
thank you