标题: [其他] 路径文件夹有()批处理怎么删除? [打印本页]
作者: yunyan100 时间: 2018-8-3 21:21 标题: 路径文件夹有()批处理怎么删除?
请教下各位,一个变量%pa%得到路径文件夹,未知,
想如:- F:\Downloads\ADC(WSDSDSDDSDSDS)DSSD\12345(678914587878)78
复制代码
想改成文件夹不能(),就从变量最后文件夹到前F)删除,谢谢- F:\Downloads\ADCWSDSDSDDSDSDSDSSD\1234567891458787878
复制代码
作者: Batcher 时间: 2018-8-3 21:33
- @echo off
- set "str=F:\Downloads\ADC(WSDSDSDDSDSDS)DSSD\12345(678914587878)78"
- set "str=%str:(=%"
- set "str=%str:)=%"
- echo %str%
复制代码
字符串替换可以使用set命令,参考教程:
http://bbs.bathome.net/thread-31727-1-1.html
作者: yunyan100 时间: 2018-8-3 21:44
回复 2# Batcher
把文件夹改呢,?那个只是变量,要改文件夹
作者: Batcher 时间: 2018-8-3 21:47
重命名文件夹可以使用 ren 命令,你试试:
http://bbs.bathome.net/thread-3318-1-1.html
作者: yunyan100 时间: 2018-8-3 21:48
本帖最后由 yunyan100 于 2018-8-3 21:50 编辑
回复 3# yunyan100
我用- set "pay=%pa:(=%"
- set "pay=%pay:)=%"
- for %%a in ("%pay%") do set "pax=%%~nxa"
- ren "%pa%" "%pax%"&set "pa=%pay%"
复制代码
只改改路径,它上在同删除()
作者: Batcher 时间: 2018-8-3 22:08
回复 5# yunyan100
先取值,后替换。- @echo off
- set "str=F:\Downloads\ADC(WSDSDSDDSDSDS)DSSD\12345(678914587878)78"
- for %%a in ("%str%") do set folder1=%%~nxa&&set str2=%%~dpa
- for %%a in ("%str%\..") do set folder2=%%~nxa
- set "folder1=%folder1:(=%"
- set "folder1=%folder1:)=%"
- ren "%str%" "%folder1%"
- set "folder2=%folder2:(=%"
- set "folder2=%folder2:)=%"
- ren "%str2%" "%folder2%"
复制代码
作者: yunyan100 时间: 2018-8-3 22:53
回复 6# Batcher
感谢你帮忙,%pa%\..这里搞定- for %%a in ("%pa%") do set "pax=%%~nxa"
- set "pax=%pax:(=%"
- set "pax=%pax:)=%"
- ren "%pa%" "%pax%"
- for %%a in ("%pa%\..") do set pay=%%~nxa
- set "pay=%pay:(=%"
- set "pay=%pay:)=%"
- ren "%pa%\.." "%pay%"
复制代码
作者: yunyan100 时间: 2018-8-5 21:08
本帖最后由 yunyan100 于 2018-8-5 21:10 编辑
回复 yunyan100
先取值,后替换。
Batcher 发表于 2018-8-3 22:08
- set "pax=%pa:(=%"
- set "pax=%pax:)=%"
- for %%a in ("%pa%") do set "pay=%%~nxa"&set "pac=%pa%"&call :gchkk
- for %%a in ("%pa%\..") do set "pay=%%~nxa"&set "pac=%pa%\.."&call :gchkk
- for %%a in ("%pa%\..\..") do set "pay=%%~nxa"&set "pac=%pa%\..\.."&call :gchkk
- for %%a in ("%pa%\..\..\..") do set "pay=%%~nxa"&set "pac=%pa%\..\..\.."&call :gchkk
- set "pa=%pax%"&goto :gchk
- :gchkk
- set "pay=%pay:(=%"
- set "pay=%pay:)=%""
- ren "%pac%" "%pay%"
- goto :eof
- :gchk
复制代码
管理员好,这是改好点,设定向上删除(),
F:\11\11\11\11
但变量未知,
F:\11\11\11\11\11\11
可能j是
F:\11\11\11\11\11\1\111\14
怎么不是要是多个for能适合?
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |