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

[文件操作] 【已解决】批量新建文件夹中如何把转义空格作为字符串而非分隔符

[复制链接]
发表于 2017-1-17 14:03:05 | 显示全部楼层 |阅读模式
本帖最后由 kid_en 于 2017-1-18 18:44 编辑

各位大神,刚开始研究批处理。自己看了一些资料,然后修改了一个代码。工作上能用到。可是由于很多dwg的文件名都是带空格的,识别不了。
现在想要在下面的这个代码的基础上改正一下,把转义空格作为字符串而非分隔符。
  1. @echo off & setlocal enabledelayedexpansion
  2. for %%s in (*.dwg ) do (md xx
  3.                              move %%s xx\%%s
  4.                              cd xx
  5.                              cd..
  6.                              ren "xx" %%s
  7.                             )
  8. pause
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2017-1-17 14:29:46 | 显示全部楼层
双引号括起来
 楼主| 发表于 2017-1-17 15:31:35 | 显示全部楼层
回复 2# 回家路上


    我括了,可是括不对地方= =,试了好多个地方好像都不对。。
 楼主| 发表于 2017-1-18 09:39:40 | 显示全部楼层
回复 2# 回家路上


    能指导一下么?
发表于 2017-1-18 13:06:35 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%s in (*.dwg ) do (
  4.     md "xx"
  5.     move "%%s" "xx"
  6.     ren "xx" "%%s"
  7. )
  8. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
kid_en + 1 谢谢🙏

查看全部评分

 楼主| 发表于 2017-1-18 17:13:42 | 显示全部楼层
回复 5# GNU


    感谢啊~~不过我早上已经自己想了很久已经想到办法解决了。

现在还有一个问题,相对应的jpg,png,xls文件到移动到相对应的文件夹里面,然后有一个代码是:
  1. @echo off
  2. for /f %%a in ('dir /o-n /b /ad') do (
  3. move "%%a*.jpg" "%%a" || move "%%a*.png" "%%a"
  4. )
  5. pause
复制代码
可是移动文件的时候,代码只能识别单段文字的文件夹,对于后面有复杂的文件名就识别不了了。具体情况入下:
javascript:;
后面没有中文字体的文件名会自动归档,可是有文字的就识别不了,求大神解答~~~
发表于 2017-1-18 17:28:15 | 显示全部楼层
回复 6# kid_en
  1. @echo off
  2. for /f %%a in ('dir /o-n /b /ad') do (
  3.     move "%%a*.jpg" "%%a"
  4.     move "%%a*.png" "%%a"
  5. )
  6. pause
复制代码
 楼主| 发表于 2017-1-19 08:40:07 | 显示全部楼层
回复 7# GNU


    和我的代码一样,不行
发表于 2017-1-19 09:34:14 | 显示全部楼层
回复 8# kid_en


    请把测试数据和测试代码传到网盘,我试试。
发表于 2017-1-19 10:00:05 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=1,2 delims= " %%1 in ('dir /ad/b')do (
  3.         copy "%%1-*.*" "%%1 %%2\*"
  4. )
  5. rem del *.jpg *.png
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2017-1-19 10:19:09 | 显示全部楼层
回复 10# Nsqs


    一闪而过。。
 楼主| 发表于 2017-1-19 10:19:54 | 显示全部楼层
回复 9# GNU


    文件压缩成7Z。只有328 KB,不知道系统提示文件过大上传不了。。。
 楼主| 发表于 2017-1-19 10:45:28 | 显示全部楼层
本帖最后由 kid_en 于 2017-1-19 10:48 编辑

回复 10# Nsqs
  1. @echo off
  2. for /f "delims=" %%i in ('dir /ad/b')do (
  3.         copy "%%i-*.*" "%%i\*"
  4.         copy "%%i.*.*" "%%i\*"
  5. )
  6. del *.jpg *.png
  7. pause
复制代码
在这个基础上改了一点能用,感谢~~
发表于 2017-1-19 10:45:36 | 显示全部楼层
回复 11# kid_en


    加pause
 楼主| 发表于 2017-1-19 11:04:41 | 显示全部楼层
回复 14# Nsqs


    不过能不能在这个基础上增加一条:如果没有复制成功进去文件夹的话,不删除jpg或xls文件,我怕误删了一些文件..
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 14:12 , Processed in 0.023896 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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