标题: [文本处理] 求大神帮忙看下修改文件夹名称的批处理哪里出了问题?谢谢 [打印本页]
作者: 断桥 时间: 2018-8-8 15:45 标题: 求大神帮忙看下修改文件夹名称的批处理哪里出了问题?谢谢
代码修改了以后运行报错?怎么办大神
比如:我的文件夹是以下这样的,我只需要删除01:00:00这部分就好 (是修改文件夹的,不是任何的其他问价)
新建文件夹 - 2018-08-08 01:00:00
新建文件夹 - 2018-08-08 01:00:01
新建文件夹 - 2018-08-08 01:00:02- @echo off
- setlocal enabledelayedexpansion
- for %%j in (*.*) do (
- set filename=%%~nj
- set filename=!filename:新建文件夹 - 2018-08-08=_!
- set filename=!filename:"h:mm:ss" =!
- if not "!filename!"=="%%~nj" ren "%%j" "!filename!%%~xj"
- )
复制代码
作者: xczxczxcz 时间: 2018-8-10 09:14
偶不是大神,你把 01:后面的都去掉后,你的文件夹很多都变成同名了,这样会失败。若只论去掉后面的还是很容易的。
作者: xczxczxcz 时间: 2018-8-10 09:17
本帖最后由 xczxczxcz 于 2018-8-10 09:21 编辑
修改文件夹不建议用 ren 建议用 md 命令.
处理文件夹 建议把这个
for %%j in (*.*) do ( 改成类似 for /f "delims=" %%j in ('dir/ad/b/s "xxxx"') do (
作者: Batcher 时间: 2018-8-10 14:07
去掉那部分之后,三个文件夹都叫做:新建文件夹 - 2018-08-08
文件夹重名了,系统不允许的。
作者: 断桥 时间: 2018-8-12 20:17
回复 2# xczxczxcz
比如:我的文件夹是以下这样的,我只需要删除01:00:00这部分就好 (是修改文件夹的,不是任何的其他问价)
没有表述明白:
删除后面的 01:00:00 就好了。
新建文件夹1 - 2018-08-08 01:00:00
新建文件夹2 - 2018-08-08 01:00:01
新建文件夹3 - 2018-08-08 01:00:02
谢谢大神。
作者: holley 时间: 2018-8-15 13:20
本帖最后由 holley 于 2018-8-15 13:37 编辑
回复 5# 断桥
我也是初学者
你看这样行不行?- @echo off
- setlocal enabledelayedexpansion
- for /d %%a in (*) do (
- for /f "tokens=1-3 delims= " %%b in ("%%a") do (
- set "a1=%%b"
- set "a2=%%c"
- set "a3=%%d"
- ren "%%a" "!a1!!a2!!a3!"
- )
- )
复制代码
好像空格被自动咔嚓了,增加空格的补充- @echo off
- setlocal enabledelayedexpansion
- for /d %%a in (*) do (
- for /f "tokens=1-3 delims= " %%b in ("%%a") do (
- set "var= "
- set "a1=%%b"
- set "a2=%%c"
- set "a3=%%d"
- ren "%%a" "!a1!!var!!a2!!var!!a3!"
- )
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |