找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27525|回复: 10

[日期时间] [已解决]批处理解压缩怎样把存储的名称改为当前时间

[复制链接]
发表于 2024-3-20 09:36:32 | 显示全部楼层 |阅读模式
  1. @echo off
  2. REM 根据自己电脑实际情况设置 7-Zip 的路径
  3. set "My7z=C:\Program Files\7-Zip\7z.exe"
  4. cd /d "C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"
  5. for /f "delims=" %%i in ('dir /b') do (
  6.     echo 正在处理文件 %%i
  7.     "%My7z%" a "D:\Contra Operation Galuga\xi.zip" "%%i"
  8. )
  9. pause

复制代码
现在  存储的 名称为  xi.zip   
想改成当前时间  精确到秒

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2024-3-20 10:31:46 | 显示全部楼层
  1. @echo off
  2. REM 根据自己电脑实际情况设置 7-Zip 的路径
  3. set "My7z=C:\Program Files\7-Zip\7z.exe"
  4. cd /d "C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"

  5. for /f "delims=" %%a in ('powershell -c "Get-Date -UFormat '%%Y%%m%%d_%%H%%M%%S'"') do (
  6.         for /f "delims=" %%i in ('dir /b') do (
  7.                 echo 正在处理文件 %%i
  8.                 "%My7z%" a "D:\Contra Operation Galuga\%%a.zip" "%%i"
  9.         )
  10. )
  11. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2024-3-20 10:37:24 | 显示全部楼层
本帖最后由 lovekix 于 2024-3-20 10:39 编辑

回复 2# 77七


    谢谢
  1. @echo off
  2. REM 根据自己电脑实际情况设置 7-Zip 的路径
  3. set "My7z=C:\Program Files\7-Zip\7z.exe"
  4. cd /d "C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"

  5. for /f "delims=" %%a in ('powershell -c "Get-Date -UFormat '%%Y%%m%%d_%%H%%M%%S'"') do (
  6.         for /f "delims=" %%i in ('dir /b') do (
  7.                 echo 正在处理文件 %%i
  8.                 "%My7z%" a "D:\Contra Operation Galuga\%%a.zip" "%%i"
  9.         )
  10. )
  11. pause
复制代码
 楼主| 发表于 2024-3-20 10:37:56 | 显示全部楼层
方法2
  1. @echo off
  2. set YYYYmmss=%date:~0,4%.%date:~5,2%.%date:~8,2% %time:~0,2%;%time:~3,2%,%time:~6,2%

  3. REM 根据自己电脑实际情况设置 7-Zip 的路径
  4. set "My7z=C:\Program Files\7-Zip\7z.exe"
  5. cd /d "C:\Users\Administrator\AppData\Local\ConnectedDevicesPlatform"
  6. for /f "delims=" %%i in ('dir /b') do (
  7.     echo 正在处理文件 %%i
  8.     "%My7z%" a "D:\Contra Operation Galuga\%YYYYmmss%.zip" "%%i"
  9. )
  10. pause
复制代码
发表于 2024-3-20 11:13:33 | 显示全部楼层
回复 4# lovekix


   %date% 优点 :效率高,缺点 :在不同的代码页结果可能不同;调用2楼 powershell 代码 缺点 :多次调用影响效率,代码前出现 变量 y m h d_ ,则影响结果,
使用 (http://www.bathome.net/redirect.php?goto=findpost&ptid=3328&pid=247109)该楼powershell代码,不受变量影响
 楼主| 发表于 2024-3-21 16:27:38 | 显示全部楼层
回复 5# 77七


    忽然有一个想法   
按最近的时间解压   或者选择性的解压
  1. "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 这个  
(时间备份的包  名称不固定)
发表于 2024-3-21 16:32:03 | 显示全部楼层
回复 6# lovekix


  
  1. @echo off
  2. cd /d "D:\Contra Operation Galuga"
  3. for /f "delims=" %%i in ('dir /b /a-d *.zip') do (
  4.         set file=%%i
  5. )
  6. "C:\Program Files\7-Zip\7z.exe" x  "D:\Contra Operation Galuga\%file%" -o "C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"
  7. pause
复制代码
 楼主| 发表于 2024-3-22 09:07:20 | 显示全部楼层
回复 7# 77七


    感谢   感谢  弄好了



贴出  完整的代码
  1. ECHO OFF
  2. MODE con COLS=80 LINES=38
  3. TITLE 魂斗罗存档
  4. color 3f
  5. :STARTS
  6. cls
  7. ECHO.
  8. ECHO. 1.备份魂斗罗存档
  9. ECHO. 2.还原魂斗罗存档
  10. ECHO.
  11. ECHO. ………………………………………………………………………………………………………

  12. rem 输入数字,以空格或逗号分隔
  13. set /p str=
  14. for %%a in (%str%) do call :%%a & pause
  15. exit
  16. :1
  17. CLS
  18. COLOR 3f
  19. REM 根据自己电脑实际情况设置 7-Zip 的路径
  20. set "My7z=C:\Program Files\7-Zip\7z.exe"
  21. cd /d "C:\Users\Administrator\AppData\LocalLow\WayForward Technologies\Contra_ Operation Galuga"

  22. for /f "delims=" %%a in ('powershell -c "Get-Date -UFormat '%%Y%%m%%d_%%H%%M%%S'"') do (
  23.         for /f "delims=" %%i in ('dir /b') do (
  24.                 echo 正在处理文件 %%i
  25.                 "%My7z%" a "D:\Contra Operation Galuga\%%a.zip" "%%i"
  26.         )
  27. )
  28. pause
  29. exit


  30. :2
  31. CLS
  32. COLOR 2f
  33. cd /d "D:\Contra Operation Galuga"
  34. for /f "delims=" %%i in ('dir /b /a-d *.zip') do (
  35.         set file=%%i
  36. )
  37. "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"
  38. pause
  39. GOTO STARTS

复制代码
 楼主| 发表于 2024-4-11 11:06:21 | 显示全部楼层
本帖最后由 lovekix 于 2024-4-11 11:08 编辑

回复 7# 77七
  1. @echo off
  2. REM 根据自己电脑实际情况设置 7-Zip 的路径
  3. set "My7z=C:\Program Files\7-Zip\7z.exe"
  4. cd /d "C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames"

  5. for /f "delims=" %%a in ('powershell -c "Get-Date -UFormat '%%Y%%m%%d_%%H%%M%%S'"') do (
  6.         for /f "delims=" %%i in ('dir /b') do (
  7.                 echo 正在处理文件 %%i
  8.                 "%My7z%" a "D:\Contra Operation Galuga\%%a.zip" "%%i"
  9.         )
  10. )
  11. pause
复制代码
D:\Contra Operation Galuga

可以改成 当前文件夹吗?(用%cd%   替换  会到C:\Users\Administrator\AppData\Local\Pal\Saved\SaveGames文件夹下)
发表于 2024-4-11 11:30:05 | 显示全部楼层
回复 9# lovekix


   用 %~dp0 替换
发表于 2024-4-11 14:54:32 | 显示全部楼层
本帖最后由 ygqiang 于 2024-4-11 14:56 编辑
  1. set "dqmu=%~dp0"
  2. cd /d "%dqmu%"
复制代码
%cd%:脚本执行的当前目录,
需要注意的是,这里的当前目录有可能和脚本实际所在目录不一致。

%~dp0%:脚本文件所在的目录,
注意,目录的路径为全路径,并且带结尾的\。


%cd%代表的是当前工作目录(current working directory,variable);
%~dp0代表的是当前批处理文件所在完整目录(the batch file's directory,fixed)。


尽量使用%~dp0,不建议使用%cd%,有其他需求除外。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 01:21 , Processed in 0.014840 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表