Board logo

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

作者: d981830719    时间: 2013-3-21 10:51     标题: [已解决]批处理for语句 in()中的空格和汉字读取不出来

本帖最后由 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)
作者: 林小七    时间: 2013-3-21 11:02

在路径上加“”试一试,有空格就是特殊路径了
作者: d981830719    时间: 2013-3-21 11:09

回复 2# 林小七

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

for %f in (“*.txt”) do (move %f 123)
这样子连原本的a.txt b.txt都复制不了
作者: Demon    时间: 2013-3-21 11:12

move命令的问题,与for无关
作者: BAT-VBS    时间: 2013-3-21 11:13

  1. for %f in (*.txt) do (move "%f" 123)
复制代码

作者: d981830719    时间: 2013-3-21 11:37

回复 4# Demon


    我觉得还是与地址有关 如果换成纯引文的 不加空格的就可以成功了
作者: d981830719    时间: 2013-3-21 11:37

BAT-VBS 发表于 2013-3-21 11:13


老大 跟我写的代码都是一样的 含有中文的、空格的文件名移动不成功啊
作者: 林小七    时间: 2013-3-21 11:49

没理由,我写一个试一试去,马上回来
作者: 林小七    时间: 2013-3-21 11:54

  1. for /r %%a in (*.txt) do (
  2. move "%%a" 33)
  3. pause
复制代码
完美的成功了,英文的名字,汉子的,汉子加空格加英文的...
作者: BAT-VBS    时间: 2013-3-21 11:56

回复 7# d981830719


    你没发现5楼代码里面有双引号?
作者: d981830719    时间: 2013-3-22 09:34

BAT-VBS 发表于 2013-3-21 11:13


高手就是高手 我确实没注意引号
作者: BAT-VBS    时间: 2013-3-22 09:37

回复 11# d981830719


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
作者: d981830719    时间: 2013-3-22 09:38

回复 9# 林小七


    你好 五楼的答案 跟你的一样  非常感谢你的回答  你的答案也是正确的




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2