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

[文本处理] [已解决]批处理for语句 in()中的空格和汉字读取不出来

[复制链接]
发表于 2013-3-21 10:51:24 | 显示全部楼层 |阅读模式
本帖最后由 d981830719 于 2013-3-22 14:26 编辑

当前目录下文件
新建文件 - 复件11.txt
新建文件夹-附件3.txt
a.txt
b.txt
123(文件夹)

我写的代码
for %f in (*.txt) do (move %f 123)

遇到的问题
a.txt b.txt可以移动过去 "新建文件 - 复件11.txt  新建文件夹-附件3.txt"这两个文件夹移动不过去
"usebackq"加上这个也没有效果

跪求大神


***************************************
大神    BAT-VBS  提供的答案
for %f in (*.txt) do (move "%f" 123)

评分

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

查看全部评分

发表于 2013-3-21 11:02:51 | 显示全部楼层
在路径上加“”试一试,有空格就是特殊路径了
 楼主| 发表于 2013-3-21 11:09:37 | 显示全部楼层
回复 2# 林小七

for %f in (*.txt) do (move %f 123)

for %f in (“*.txt”) do (move %f 123)
这样子连原本的a.txt b.txt都复制不了
发表于 2013-3-21 11:12:23 | 显示全部楼层
move命令的问题,与for无关
发表于 2013-3-21 11:13:29 | 显示全部楼层
  1. for %f in (*.txt) do (move "%f" 123)
复制代码

评分

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

查看全部评分

 楼主| 发表于 2013-3-21 11:37:06 | 显示全部楼层
回复 4# Demon


    我觉得还是与地址有关 如果换成纯引文的 不加空格的就可以成功了
 楼主| 发表于 2013-3-21 11:37:58 | 显示全部楼层
BAT-VBS 发表于 2013-3-21 11:13


老大 跟我写的代码都是一样的 含有中文的、空格的文件名移动不成功啊
发表于 2013-3-21 11:49:29 | 显示全部楼层
没理由,我写一个试一试去,马上回来
发表于 2013-3-21 11:54:14 | 显示全部楼层
  1. for /r %%a in (*.txt) do (
  2.         move "%%a" 33)
  3. pause
复制代码
完美的成功了,英文的名字,汉子的,汉子加空格加英文的...
发表于 2013-3-21 11:56:43 | 显示全部楼层
回复 7# d981830719


    你没发现5楼代码里面有双引号?
 楼主| 发表于 2013-3-22 09:34:46 | 显示全部楼层
BAT-VBS 发表于 2013-3-21 11:13


高手就是高手 我确实没注意引号
发表于 2013-3-22 09:37:27 | 显示全部楼层
回复 11# d981830719


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
 楼主| 发表于 2013-3-22 09:38:35 | 显示全部楼层
回复 9# 林小七


    你好 五楼的答案 跟你的一样  非常感谢你的回答  你的答案也是正确的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 03:12 , Processed in 0.021032 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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