![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 14:43 |
共 48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 已解决:‘FOR’处理的目录名称如果带空格应如何写法? |
| 可打印版本 852 / 4 |
| 第1楼 leton | 发表于 2008-02-23 22:07 |
| 初级用户 发帖 72 积分 170 | |
|
已解决:‘FOR’处理的目录名称如果带空格应如何写法? 请教:关于批处理中使用‘FOR’处理的目录名称如果带空格应如何写法?
下面这段在应用时,没法通过,For 读入处理的内容,只有空格前,如: %SYSTEMDRIVE%\TEMP\DIR.TXT 文件内容 D:\Program Files\WindowsUpdate D:\Program Files\WebTrends Analysis Series 但执行后,结果出错,因为只能读入'D:\Program',后面内容全没有了... @%SYSTEMDRIVE% @CD\ @CD %SYSTEMDRIVE%\PROGRAM FILES @DIR /AD /B /S >> %SYSTEMDRIVE%\TEMP\DIR.TXT @FOR /f %%b IN (%SYSTEMDRIVE%\TEMP\DIR.TXT) do cscript.exe %systemroot%\xcacls.vbs "%%b" /i enable @Del %SYSTEMDRIVE%\TEMP\DIR.TXT [ Last edited by leton on 2008-2-23 at 10:41 PM ] |
|
| 第2楼 everest79 | 发表于 2008-02-23 22:25 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
使用扩展参数usebackq后给路径加双引号就行了
|
|
| 第3楼 leton | 发表于 2008-02-23 22:41 |
| 初级用户 发帖 72 积分 170 | |
|
谢谢,已经解决了
修改成: FOR /f "usebackq tokens=1-30 delims=" %%b IN (%SYSTEMDRIVE%\TEMP\DIR.TXT) do cscript.exe %systemroot%\xcacls.vbs "%%b" /i enable |
|
| 第4楼 abcd | 发表于 2008-02-24 13:08 |
| 银牌会员 发帖 739 积分 1,436 | |
|
tokens=1-30
这个有点多吧,小写字母也才26个吧 |
|
| 第5楼 523066680 | 发表于 2008-02-24 15:44 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
这样也可以的吧…… for /f "tokens=*" %%a in ('dir /ad /s /b') do (echo %%~sa)
%~sI - 扩充的路径只含有短名 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |