批处理 直接解压文件并自动命名
时间: 2023-12-07 14:04:11 浏览: 128
你可以使用以下批处理脚本来直接解压文件并自动命名:
```
@echo off
setlocal enableextensions
set "zipfile=example.zip"
set "destination=c:\example_folder\"
set "tempfolder=%temp%\%random%"
md "%tempfolder%"
powershell -command "Expand-Archive -Path '%zipfile%' -DestinationPath '%tempfolder%'"
for /r "%tempfolder%" %%f in (*.*) do (
move /y "%%f" "%destination%example_file%%~xf"
)
rd /s /q "%tempfolder%"
```
请将 `example.zip` 替换为你要解压的文件名,将 `c:\example_folder\` 替换为你要保存解压后文件的目标文件夹。该脚本将在 `%temp%\` 中创建一个随机命名的临时文件夹,将解压后的文件移动到目标文件夹中并自动命名为 `example_file`,后跟原始文件的扩展名。最后,临时文件夹将被删除。
相关问题
批处理 直接解压zip文件去除文件夹自动命名
您可以使用以下批处理代码来解压zip文件并将其文件提取到当前目录:
```
@echo off
setlocal enabledelayedexpansion
set "zipfile=%1"
set "filename=%~n1"
set "extension=%~x1"
set "tempdir=%TEMP%\%filename%"
if not exist "%tempdir%" (
mkdir "%tempdir%"
)
echo Extracting files from %zipfile%...
powershell -nologo -noprofile -command "Add-Type -AssemblyName System.IO.Compression.FileSystem ; [IO.Compression.ZipFile]::ExtractToDirectory('%zipfile%', '%tempdir%')"
echo Moving files to current directory...
for %%a in ("%tempdir%\*.*") do (
move /Y "%%a" ".\%%~nxa"
)
echo Cleaning up...
rmdir /Q /S "%tempdir%"
echo Done.
```
您可以将此代码保存为`unzip.bat`文件,并将zip文件拖放到该文件上运行。此代码将自动提取zip文件中的所有文件,并将它们移动到当前目录。如果zip文件中只有一个文件,则该文件将直接提取到当前目录中。
阅读全文