[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
bat小白,请多指教!谢谢!

TOP

回复 3# thp2008


   不知道你怎么实际使用,使用set /p 输入密码吗?去掉-p 这样直接在弹框中输入密码可以吗?
  1. @echo off
  2. set "rar=%ProgramFiles%\WinRAR\WinRAR.exe"
  3. for /f "delims=" %%i in ('dir /b /s *.rar *.001 *.7z *.zip') do "%rar%" x -y -o- "%%i" "%%~dpi"
  4. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 5# thp2008


   如果你需要解压的文件的密码都是相同的,可以用那个帖子的方法
我使用那个作者提供的密码
  1. 1"@>::”#<$%"*%@“=?(*::"=*}{3"5*!!?%&|=6$”"4……-^_a=*a`~*()-_=+aa
复制代码


这个密码echo 后 密码中含有的变量会变成空值
所以不妨直接复制密码,然后点击脚本,解压期间不要操作剪贴板
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s *.rar *.001 *.7z *.zip') (
  3.         winclip -p|"C:\Program Files\7-Zip\7z.exe" x "%%i" -o"%%~dpi" 1>nul
  4. )
  5. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 8# thp2008


   7楼的方法挺好的。winrar可能不支持吧。
bat小白,请多指教!谢谢!

TOP

本帖最后由 77七 于 2023-6-22 16:44 编辑

回复 11# thp2008


  
  1. @echo off
  2. set "rar=%ProgramFiles%\WinRAR\WinRAR.exe"
  3. for /f "delims=" %%a in ('winclip -p') do (
  4.         set "pass=%%a"
  5.         setlocal EnableDelayedExpansion
  6.         set "pass=!pass:"=""!"
  7.         for /f "delims=" %%i in ('dir /b /s *.rar *.001 *.7z *.zip') do "%rar%" x -y -p"!pass!" -o- "%%i" "%%~dpi"
  8.         endlocal
  9. )
  10. exit
复制代码
特殊字符使用set /p ,我试了直接闪退,在7楼的代码上修改,复制后直接点脚本就行了,不用粘贴
特殊字符使用set /p ,我试了直接闪退”,说法有误!
1

评分人数

bat小白,请多指教!谢谢!

TOP

本帖最后由 77七 于 2023-6-22 17:27 编辑

回复 14# buyiyang


   大佬,您试试这个
  1. 1"@>::”#<$%"*%@“=?(*::"=*}{3"5*!!?%&|=6$”"4……-^_a=*a`~*()-_=+aa
复制代码


这个就是2楼那个帖子作者试验的密码
我又试了一下,开启延迟变量后,再使用set /p 就不会闪退了
多次测试,只有开启延迟变量后,使用叹号才能正确echo 这个字符串,
  1. @echo off
  2. set "rar=%ProgramFiles%\WinRAR\WinRAR.exe"
  3. for /f "delims=" %%a in ('winclip -p') do (
  4.         set "pass=%%a"
  5.         setlocal EnableDelayedExpansion
  6.         set "pass=!pass:"=""!"
  7.         for /f "delims=" %%i in ('dir /b /s *.rar *.001 *.7z *.zip') do "%rar%" x -y -p"!pass!" -o- "%%i" "%%~dpi"
  8.         endlocal
  9. )
  10. pause
  11. for /f "delims=" %%a in ("1") do (
  12.         set /p pass=
  13.         setlocal EnableDelayedExpansion
  14.         set "pass=!pass:"=""!"
  15.         for /f "delims=" %%i in ('dir /b /s *.rar *.001 *.7z *.zip') do "%rar%" x -y -p"!pass!" -o- "%%i" "%%~dpi"
  16.         endlocal
  17. )
  18. pause
复制代码

使用上面的密码压缩的文件,再同一个批处理文件中,使用上面的代码第一段winclip -p 获取密码解压成功,使用第二段 set /p 输入密码,提示密码错误。
bat小白,请多指教!谢谢!

TOP

回复 18# buyiyang


   

谢谢大佬指点!果然是这样!
bat小白,请多指教!谢谢!

TOP

返回列表