中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 04:29
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 有空格的路径文读不出来
可打印版本  1,092 / 10
第1楼 yyqfeng 发表于 2010-06-17 17:01
初级用户 发帖 19 积分 22
有空格的路径文读不出来
@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楼 HAT 发表于 2010-06-17 17:08
版主 发帖 5,017 积分 9,023
第3楼 yyqfeng 发表于 2010-06-17 17:29
初级用户 发帖 19 积分 22
我加入了那个"delims="也不能实现的哦
第4楼 yyqfeng 发表于 2010-06-17 17:42
初级用户 发帖 19 积分 22
我加入了"delims=*"就可以解决了
谢谢你
第5楼 treesingwind 发表于 2010-06-18 08:45
新手上路 发帖 6 积分 7
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楼 yyqfeng 发表于 2010-06-18 09:16
初级用户 发帖 19 积分 22
已解决
谢谢你们的帮忙
第7楼 yyqfeng 发表于 2010-06-19 10:04
初级用户 发帖 19 积分 22
文件夹有空格的路径怎么在DOS下复制不了文件?比如E:\A BC这个路径用
xcopy e/ E:\A BC F: 运行时一闪而过
第8楼 HAT 发表于 2010-06-19 10:31
版主 发帖 5,017 积分 9,023
Re 7 楼
加双引号
第9楼 yyqfeng 发表于 2010-06-21 19:29
初级用户 发帖 19 积分 22
@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楼 Hanyeguxing 发表于 2010-06-21 19:43
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
对for /f 使用"delims="
第11楼 crist 发表于 2010-06-21 22:46
新手上路 发帖 11 积分 18
我也有一个问题:

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 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023