标题: [日期时间] [已解决]批处理解压缩怎样把存储的名称改为当前时间 [打印本页]
作者: lovekix 时间: 2024-3-20 09:36 标题: [已解决]批处理解压缩怎样把存储的名称改为当前时间
- @echo off
- REM 根据自己电脑实际情况设置 7-Zip 的路径
- set "My7z=C:\Program Files\7-Zip\7z.exe"
- cd /d "C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"
- for /f "delims=" %%i in ('dir /b') do (
- echo 正在处理文件 %%i
- "%My7z%" a "D:\Contra Operation Galuga\xi.zip" "%%i"
- )
- pause
复制代码
现在 存储的 名称为 xi.zip
想改成当前时间 精确到秒
作者: 77七 时间: 2024-3-20 10:31
- @echo off
- REM 根据自己电脑实际情况设置 7-Zip 的路径
- set "My7z=C:\Program Files\7-Zip\7z.exe"
- cd /d "C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"
-
- for /f "delims=" %%a in ('powershell -c "Get-Date -UFormat '%%Y%%m%%d_%%H%%M%%S'"') do (
- for /f "delims=" %%i in ('dir /b') do (
- echo 正在处理文件 %%i
- "%My7z%" a "D:\Contra Operation Galuga\%%a.zip" "%%i"
- )
- )
- pause
复制代码
作者: lovekix 时间: 2024-3-20 10:37
本帖最后由 lovekix 于 2024-3-20 10:39 编辑
回复 2# 77七
谢谢- @echo off
- REM 根据自己电脑实际情况设置 7-Zip 的路径
- set "My7z=C:\Program Files\7-Zip\7z.exe"
- cd /d "C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"
-
- for /f "delims=" %%a in ('powershell -c "Get-Date -UFormat '%%Y%%m%%d_%%H%%M%%S'"') do (
- for /f "delims=" %%i in ('dir /b') do (
- echo 正在处理文件 %%i
- "%My7z%" a "D:\Contra Operation Galuga\%%a.zip" "%%i"
- )
- )
- pause
复制代码
作者: lovekix 时间: 2024-3-20 10:37
方法2- @echo off
- set YYYYmmss=%date:~0,4%.%date:~5,2%.%date:~8,2% %time:~0,2%;%time:~3,2%,%time:~6,2%
-
- REM 根据自己电脑实际情况设置 7-Zip 的路径
- set "My7z=C:\Program Files\7-Zip\7z.exe"
- cd /d "C:\Users\Administrator\AppData\Local\ConnectedDevicesPlatform"
- for /f "delims=" %%i in ('dir /b') do (
- echo 正在处理文件 %%i
- "%My7z%" a "D:\Contra Operation Galuga\%YYYYmmss%.zip" "%%i"
- )
- pause
复制代码
作者: 77七 时间: 2024-3-20 11:13
回复 4# lovekix
%date% 优点 :效率高,缺点 :在不同的代码页结果可能不同;调用2楼 powershell 代码 缺点 :多次调用影响效率,代码前出现 变量 y m h d_ ,则影响结果,
使用 (http://www.bathome.net/redirect.php?goto=findpost&ptid=3328&pid=247109)该楼powershell代码,不受变量影响
作者: lovekix 时间: 2024-3-21 16:27
回复 5# 77七
忽然有一个想法
按最近的时间解压 或者选择性的解压- "C:\Program Files\7-Zip\7z.exe" x "D:\Contra Operation Galuga\%%a.zip" -o"C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"
复制代码
%%a.zip 把这个改成 最近时间的备份
比如 我备份了3个压缩包
2024.01.01-12:00:00.zip
2024.01.01-12:70:00.zip
2024.02.02-12:00:00.zip
用一行命令 解压 2024.02.02-12:00:00.zip 这个
(时间备份的包 名称不固定)
作者: 77七 时间: 2024-3-21 16:32
回复 6# lovekix
- @echo off
- cd /d "D:\Contra Operation Galuga\"
- for /f "delims=" %%i in ('dir /b /a-d *.zip') do (
- set file=%%i
- )
- "C:\Program Files\7-Zip\7z.exe" x "D:\Contra Operation Galuga\%file%" -o "C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"
- pause
复制代码
作者: lovekix 时间: 2024-3-22 09:07
回复 7# 77七
感谢 感谢 弄好了
贴出 完整的代码- ECHO OFF
- MODE con COLS=80 LINES=38
- TITLE 魂斗罗存档
- color 3f
- :STARTS
- cls
- ECHO.
- ECHO. 1.备份魂斗罗存档
- ECHO. 2.还原魂斗罗存档
- ECHO.
- ECHO. ………………………………………………………………………………………………………
-
- rem 输入数字,以空格或逗号分隔
- set /p str=
- for %%a in (%str%) do call :%%a & pause
- exit
- :1
- CLS
- COLOR 3f
- REM 根据自己电脑实际情况设置 7-Zip 的路径
- set "My7z=C:\Program Files\7-Zip\7z.exe"
- cd /d "C:\Users\Administrator\AppData\LocalLow\WayForward Technologies\Contra_ Operation Galuga"
-
- for /f "delims=" %%a in ('powershell -c "Get-Date -UFormat '%%Y%%m%%d_%%H%%M%%S'"') do (
- for /f "delims=" %%i in ('dir /b') do (
- echo 正在处理文件 %%i
- "%My7z%" a "D:\Contra Operation Galuga\%%a.zip" "%%i"
- )
- )
- pause
- exit
-
-
- :2
- CLS
- COLOR 2f
- cd /d "D:\Contra Operation Galuga\"
- for /f "delims=" %%i in ('dir /b /a-d *.zip') do (
- set file=%%i
- )
- "C:\Program Files\7-Zip\7z.exe" x -y "D:\Contra Operation Galuga\%file%" -o"C:\Users\Administrator\AppData\LocalLow\WayForward Technologies\Contra_ Operation Galuga"
- pause
- GOTO STARTS
复制代码
作者: lovekix 时间: 2024-4-11 11:06
本帖最后由 lovekix 于 2024-4-11 11:08 编辑
回复 7# 77七 - @echo off
- REM 根据自己电脑实际情况设置 7-Zip 的路径
- set "My7z=C:\Program Files\7-Zip\7z.exe"
- cd /d "C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"
-
- for /f "delims=" %%a in ('powershell -c "Get-Date -UFormat '%%Y%%m%%d_%%H%%M%%S'"') do (
- for /f "delims=" %%i in ('dir /b') do (
- echo 正在处理文件 %%i
- "%My7z%" a "D:\Contra Operation Galuga\%%a.zip" "%%i"
- )
- )
- pause
复制代码
D:\Contra Operation Galuga
可以改成 当前文件夹吗?(用%cd% 替换 会到C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames文件夹下)
作者: 77七 时间: 2024-4-11 11:30
回复 9# lovekix
用 %~dp0 替换
作者: ygqiang 时间: 2024-4-11 14:54
本帖最后由 ygqiang 于 2024-4-11 14:56 编辑
- set "dqmu=%~dp0"
- cd /d "%dqmu%"
复制代码
%cd%:脚本执行的当前目录,
需要注意的是,这里的当前目录有可能和脚本实际所在目录不一致。
%~dp0%:脚本文件所在的目录,
注意,目录的路径为全路径,并且带结尾的\。
%cd%代表的是当前工作目录(current working directory,variable);
%~dp0代表的是当前批处理文件所在完整目录(the batch file's directory,fixed)。
尽量使用%~dp0,不建议使用%cd%,有其他需求除外。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |