windows批量解压到搜索结果所在文件夹

windows batch unzip to search result location folder

我有一小部分 windows 批处理脚本,对于它找到的每个 zip 文件,它都会将其解压缩到特定位置,然后将其删除。这工作正常,但是我想修改它,所以当它找到一个 zip 文件时,它应该将它解压缩到名为 "current .zip name + current date-time" 的当前文件夹内的一个新文件夹中。但我似乎无法让它工作,它看起来像是将它提取到我指定要搜索的父文件夹,而不是找到它的文件夹。

此要求的原因是 .zip 将存储在每次以构建命名的不同文件夹中,例如\server\g$\Dashboard\Results\NightlyBuild\ 所以我希望将 zip 解压缩到同一文件夹中。

for /f "tokens=1-3 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%b-%%a)<br> for /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)

for /R \server\g$\Dashboard\Results\NightlyBuild\ %%f in (*.zip) do "C:\Program Files (x86)\WinZip\WZUNZIP.EXE" -d %%f "%%~nf-%mydate%-%mytime%\"

if ERRORLEVEL 0 for /R \server\g$\Dashboard\Results\NightlyBuild\ %%f in (*.zip) do del %%f

非常感谢任何帮助,谢谢!

正如@Noodles 在上面的评论中指出的那样,%%~dpf 是包含 zip 的文件夹。