[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求大神帮忙看下修改文件夹名称的批处理哪里出了问题?谢谢

代码修改了以后运行报错?怎么办大神
比如:我的文件夹是以下这样的,我只需要删除01:00:00这部分就好 (是修改文件夹的,不是任何的其他问价)
新建文件夹 - 2018-08-08 01:00:00
新建文件夹 - 2018-08-08 01:00:01
新建文件夹 - 2018-08-08 01:00:02
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%j in (*.*) do (
  4. set filename=%%~nj
  5. set filename=!filename:新建文件夹 - 2018-08-08=_!
  6. set filename=!filename:"h:mm:ss" =!
  7. if not "!filename!"=="%%~nj" ren "%%j" "!filename!%%~xj"
  8. )
复制代码

偶不是大神,你把 01:后面的都去掉后,你的文件夹很多都变成同名了,这样会失败。若只论去掉后面的还是很容易的。

TOP

本帖最后由 xczxczxcz 于 2018-8-10 09:21 编辑

修改文件夹不建议用 ren  建议用 md 命令.

处理文件夹  建议把这个
for %%j in (*.*) do (    改成类似 for /f "delims=" %%j in ('dir/ad/b/s "xxxx"') do (

TOP

去掉那部分之后,三个文件夹都叫做:新建文件夹 - 2018-08-08
文件夹重名了,系统不允许的。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 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
谢谢大神。

TOP

本帖最后由 holley 于 2018-8-15 13:37 编辑

回复 5# 断桥

我也是初学者
你看这样行不行?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%a in (*) do (
  4.    for /f "tokens=1-3 delims= " %%b in ("%%a") do (
  5.       set "a1=%%b"
  6.       set "a2=%%c"
  7.       set "a3=%%d"
  8.       ren "%%a" "!a1!!a2!!a3!"
  9.    )
  10. )
复制代码
好像空格被自动咔嚓了,增加空格的补充
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%a in (*) do (
  4.    for /f "tokens=1-3 delims= " %%b in ("%%a") do (
  5.       set "var= "
  6.       set "a1=%%b"
  7.       set "a2=%%c"
  8.       set "a3=%%d"
  9.       ren "%%a" "!a1!!var!!a2!!var!!a3!"
  10.    )
  11. )
复制代码

TOP

返回列表