[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程批处理在线视频分享
返回列表 发帖

[其他] 路径文件夹有()批处理怎么删除?

请教下各位,一个变量%pa%得到路径文件夹,未知,
想如:
  1. F:\Downloads\ADC(WSDSDSDDSDSDS)DSSD\12345(678914587878)78
复制代码
想改成文件夹不能(),就从变量最后文件夹到前F:()删除,谢谢
  1. F:\Downloads\ADCWSDSDSDDSDSDSDSSD\1234567891458787878
复制代码

  1. @echo off
  2. set "str=F:\Downloads\ADC(WSDSDSDDSDSDS)DSSD\12345(678914587878)78"
  3. set "str=%str:(=%"
  4. set "str=%str:)=%"
  5. echo %str%
复制代码
字符串替换可以使用set命令,参考教程:
http://bbs.bathome.net/thread-31727-1-1.html
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

本帖最后由 yunyan100 于 2018-8-3 21:45 编辑

回复 2# Batcher
把文件夹改呢,?那个只是变量,要改文件夹
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

重命名文件夹可以使用 ren 命令,你试试:
http://bbs.bathome.net/thread-3318-1-1.html
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

本帖最后由 yunyan100 于 2018-8-3 21:50 编辑

回复 3# yunyan100

我用
  1. set "pay=%pa:(=%"
  2. set "pay=%pay:)=%"
  3. for %%a in ("%pay%") do set "pax=%%~nxa"
  4. ren "%pa%" "%pax%"&set "pa=%pay%"
复制代码
只改改路径,它上在同删除()

TOP

回复 5# yunyan100


先取值,后替换。
  1. @echo off
  2. set "str=F:\Downloads\ADC(WSDSDSDDSDSDS)DSSD\12345(678914587878)78"
  3. for %%a in ("%str%") do set folder1=%%~nxa&&set str2=%%~dpa
  4. for %%a in ("%str%\..") do set folder2=%%~nxa
  5. set "folder1=%folder1:(=%"
  6. set "folder1=%folder1:)=%"
  7. ren "%str%" "%folder1%"
  8. set "folder2=%folder2:(=%"
  9. set "folder2=%folder2:)=%"
  10. ren "%str2%" "%folder2%"
复制代码
【扫描二维码捐助论坛的朋友请留言注明论坛账号】http://bbs.bathome.net/thread-10403-1-1.html
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

TOP

回复 6# Batcher

感谢你帮忙,%pa%\..这里搞定
  1. for %%a in ("%pa%") do set "pax=%%~nxa"
  2. set "pax=%pax:(=%"
  3. set "pax=%pax:)=%"
  4. ren "%pa%" "%pax%"
  5. for %%a in ("%pa%\..") do set pay=%%~nxa
  6. set "pay=%pay:(=%"
  7. set "pay=%pay:)=%"
  8. ren "%pa%\.." "%pay%"
复制代码

TOP

本帖最后由 yunyan100 于 2018-8-5 21:10 编辑
回复  yunyan100


先取值,后替换。
Batcher 发表于 2018-8-3 22:08
  1. set "pax=%pa:(=%"
  2. set "pax=%pax:)=%"
  3. for %%a in ("%pa%") do set "pay=%%~nxa"&set "pac=%pa%"&call :gchkk
  4. for %%a in ("%pa%\..") do set "pay=%%~nxa"&set "pac=%pa%\.."&call :gchkk
  5. for %%a in ("%pa%\..\..") do set "pay=%%~nxa"&set "pac=%pa%\..\.."&call :gchkk
  6. for %%a in ("%pa%\..\..\..") do set "pay=%%~nxa"&set "pac=%pa%\..\..\.."&call :gchkk
  7. set "pa=%pax%"&goto :gchk
  8. :gchkk
  9. set "pay=%pay:(=%"
  10. set "pay=%pay:)=%""
  11. ren "%pac%" "%pay%"
  12. goto :eof
  13. :gchk
复制代码
管理员好,这是改好点,设定向上删除(),
F:\11\11\11\11

但变量未知,
F:\11\11\11\11\11\11
可能j是
F:\11\11\11\11\11\1\111\14
怎么不是要是多个for能适合?

TOP

返回列表