中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 03:37
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 有空格的路径文读不出来 查看 1,090 回复 10
楼 主 有空格的路径文读不出来 发表于 2010-06-17 17:01 ·  中国 广东 深圳 电信
初级用户
积分 22
发帖 19
注册 2009-07-12 02:46
17年会员
UID 149238
性别 男
状态 离线
@echo off
for /f %%i in (1.txt) do echo %%i
pause
读取1.txt里的路径E:\BW Tool_v2.0.1.3(20100426 19.12) 正常版\Data\Bin
只显示了BW。BW空格后面的不显示出来了是怎样会事,可以解决的吗?

[ Last edited by yyqfeng on 2010-6-17 at 17:23 ]
2 发表于 2010-06-17 17:08 ·  新加坡
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线

for /f "delims="
3 发表于 2010-06-17 17:29 ·  中国 广东 深圳 电信
初级用户
积分 22
发帖 19
注册 2009-07-12 02:46
17年会员
UID 149238
性别 男
状态 离线
我加入了那个"delims="也不能实现的哦
4 发表于 2010-06-17 17:42 ·  中国 广东 深圳 电信
初级用户
积分 22
发帖 19
注册 2009-07-12 02:46
17年会员
UID 149238
性别 男
状态 离线
我加入了"delims=*"就可以解决了
谢谢你
5 发表于 2010-06-18 08:45 ·  中国 湖南 长沙 电信
新手上路
积分 7
发帖 6
注册 2010-06-10 18:53
16年会员
UID 168549
性别 男
状态 离线
for /f %%a in (1.txt) do echo %%a 意思是提取1.txt内容里的第一部分。
它的效果等同于
for /f "delims= "%% in (1.txt) do echo %%a
因为程序默认delims分割是用空格进行分割的。
所以写不写“delims= "都一样。
当"delims= "变成"delims="的时候,程序就不再以空格做为分割符。
那么1.txt里的E:\BW Tool_v2.0.1.3(20100426 19.12) 正常版\Data\Bin中的空格就被忽略了,
最后程序继续提取到的第一部分就是完整的E:\BW Tool_v2.0.1.3(20100426 19.12) 正常版\Data\Bin了。

[ Last edited by treesingwind on 2010-6-18 at 08:46 ]
6 已解决 发表于 2010-06-18 09:16 ·  中国 广东 深圳 电信
初级用户
积分 22
发帖 19
注册 2009-07-12 02:46
17年会员
UID 149238
性别 男
状态 离线
谢谢你们的帮忙
7 发表于 2010-06-19 10:04 ·  中国 广东 深圳 电信
初级用户
积分 22
发帖 19
注册 2009-07-12 02:46
17年会员
UID 149238
性别 男
状态 离线
文件夹有空格的路径怎么在DOS下复制不了文件?比如E:\A BC这个路径用
xcopy e/ E:\A BC F: 运行时一闪而过
8 Re 7 楼 发表于 2010-06-19 10:31 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
加双引号
9 发表于 2010-06-21 19:29 ·  中国 广东 深圳 电信
初级用户
积分 22
发帖 19
注册 2009-07-12 02:46
17年会员
UID 149238
性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
set a=50
set b=10
mode con:cols=%a% lines=%b%
for /f "skip=1" %%a in ('wmic logicaldisk where DriveType^=2 get DeviceID') do (
set a=%%a
set a=!a:~0,1!.bat
more +15<"%~fs0">!a!
start !a! "%%a"
)
exit
@echo off
set a=50
set b=10
mode con:cols=%a% lines=%b%
title 批量复制工具
color 0a
echo.正在复制文件到%~1盘中...
for /f %%i in (1.txt) do (@echo 你要拷贝的文件夹是"%%i"
xcopy /e %%i %~1)
del %0&exit
pause
1.txt里的内容是E:\A BC怎样加双引号。我试了怎么不行的哦?
10 发表于 2010-06-21 19:43 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
11 发表于 2010-06-21 22:46 ·  中国 广东 惠州 联通
新手上路
积分 18
发帖 11
注册 2006-08-17 22:20
19年会员
UID 60748
状态 离线
我也有一个问题:

for /f "skip=4 tokens=*" %%I in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows

NT\CurrentVersion\Winlogon" /v UIHost') do (
ECHO %%I
)
得出的结果是
UIHost REG_SZ d:\Program Files\LOGONUI\JingQi.exe

请问要怎样做才能把输入结果变成以下这样?
d:\Program Files\LOGONUI\JingQi.exe

[ Last edited by crist on 2010-6-21 at 22:52 ]
论坛跳转: