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

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

[复制链接]
发表于 2018-8-3 21:21:28 | 显示全部楼层 |阅读模式
请教下各位,一个变量%pa%得到路径文件夹,未知,
想如:
  1. F:\Downloads\ADC(WSDSDSDDSDSDS)DSSD\12345(678914587878)78
复制代码
想改成文件夹不能(),就从变量最后文件夹到前F)删除,谢谢
  1. F:\Downloads\ADCWSDSDSDDSDSDSDSSD\1234567891458787878
复制代码
发表于 2018-8-3 21:33:32 | 显示全部楼层
  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
 楼主| 发表于 2018-8-3 21:44:27 | 显示全部楼层
回复 2# Batcher
把文件夹改呢,?那个只是变量,要改文件夹
发表于 2018-8-3 21:47:26 | 显示全部楼层
重命名文件夹可以使用 ren 命令,你试试:
http://bbs.bathome.net/thread-3318-1-1.html
 楼主| 发表于 2018-8-3 21:48:20 | 显示全部楼层
本帖最后由 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%"
复制代码
只改改路径,它上在同删除()
发表于 2018-8-3 22:08:03 | 显示全部楼层
回复 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%"
复制代码
 楼主| 发表于 2018-8-3 22:53:59 | 显示全部楼层
回复 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%"
复制代码
 楼主| 发表于 2018-8-5 21:08:27 | 显示全部楼层
本帖最后由 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能适合?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 18:17 , Processed in 0.020247 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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