微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

子文件夹内的存档文件输出名称

如何解决子文件夹内的存档文件输出名称

在“C:\Test”中有多个文件夹。在这文件夹中有文件。到目前为止,我能够制作批处理脚本的唯一问题是我想要基于子文件名称的存档名称。喜欢

"C:\Test\Abc" => "C:\Test\Abc\Abc.rar"

我设置了目录名称,但它使用根文件夹 Test.rar 作为所有存档名称。我尝试了其他变量,但没有奏效。这是批处理脚本,有什么帮助吗?

@echo off
for %%I in (.) do set CurrDirName=%%~nxI



FOR /D %%F IN ("C:\Test\*") DO (
    
    ECHO.
    ECHO Switching to folder '%%F'
    
 for %%a in ("%%F") do (
    pushd "%%~a"
    "C:\Program Files\WinRAR\rar.exe" -x*.txt a -r -- "%CurrDirName%.rar"
     RMDIR /s /q "%%s"
      )
    
    ECHO.
    
)

PAUSE

解决方法

也许最好先将文件夹更改为 c:\Test 然后在其中运行 for

cd test
for /d %%f in (*) do (
  pushd %%f
  "C:\Program Files\WinRAR\rar.exe" -x*.txt a -r -- "%%f.rar"
  popd
)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。