中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-03 19:27
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何复制文件名带空格的文件??? 查看 985 回复 4
楼 主 如何复制文件名带空格的文件??? 发表于 2007-03-20 11:20 ·  中国 云南 丽江 古城区 电信
初级用户
★★
积分 93
发帖 57
注册 2007-03-12 12:04
19年会员
UID 81503
性别 男
状态 离线
现有两目录:D1,D2
需要把目录D1中的文件复制到D2中,但D1中的文件名中含有空格。

用下列批处理失败:

COPY D1\*.* D2\*.*

我想把D1中含有空格的文件名重命名复制:

文件名中的空格用“-”字符替换。

如何做???

:mad:

[ Last edited by namejm on 2007-3-20 at 12:46 PM ]
2 发表于 2007-03-20 11:24 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
COPY "D1\*.*" D2\
3 发表于 2007-03-21 02:11 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 493
发帖 228
注册 2007-02-16 00:38
19年会员
UID 79596
性别 男
来自 安徽
状态 离线
Originally posted by zh159 at 2007-3-19 22:24:
COPY "D1\*.*" D2\


好象回答的不全面!?

那如何用findstr查询“空格”???
4 发表于 2007-03-21 03:10 ·  中国 广东 广州 黄埔区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
find可以
5 发表于 2007-03-21 08:40 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 493
发帖 228
注册 2007-02-16 00:38
19年会员
UID 79596
性别 男
来自 安徽
状态 离线
test.bat

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /b 123456') do (
set oname=%%i
echo %%i

:FD
for /f "tokens=1,*" %%a in ("!oname!") do (
set n1=%%a
set n2=%%b
set nname=!n1!-!n2!
if "!n2!"=="" (
echo !n1!
) else (
set oname=!nname!
goto FD
)
)
)



F:\>dir /b 123456
abc def 123 456 789.txt
123 abc.txt
xy.txt


F:\>test.bat
abc def 123 456 789.txt
abc-def-123-456-789.txt

为什么不显示???
123 abc.txt
xy.txt


[ Last edited by xycoordinate on 2007-3-20 at 09:35 PM ]
论坛跳转: