![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 00:58 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理变量中的空格问题 |
| 可打印版本 1,029 / 11 |
| 第1楼 chujiafu | 发表于 2010-07-18 11:06 |
| 银牌会员 发帖 595 积分 1,339 来自 安徽 宿州 | |
|
批处理变量中的空格问题 想用Wfolder2自定义“我的文档”文件夹,批处理如下:
Wfolder2 "SET Folder=" "D:" "选择文件夹" > temp.bat call temp.bat del temp.bat reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /V "Personal" /t REG_EXPAND_SZ /D %folder% /f >nul reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Favorites" /T REG_EXPAND_SZ /D %folder%\Favorites /f >nul reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Cookies" /T REG_EXPAND_SZ /D %folder%\Cookies /f >nul reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My pictures" /T REG_EXPAND_SZ /D %folder%\My pictures /f >nul reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "My music" /T REG_EXPAND_SZ /D %folder%\My music /f >nul 现在的问题是:如果选择的文件夹中没有空格,5个都能成功;一旦选择的文件夹中有空格,前3项能成功,后2项不能成功,显示“命令行参数太多”。 如何解决? 附件是批处理中要用到的Wfolder2 [ Last edited by chujiafu on 2010-7-19 at 10:43 ] 附件 Wfolder2.rar (4.2 KiB) |
|
| 第2楼 slore | 发表于 2010-07-19 09:23 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
echo %folder%
完整么? 如果完整就加引号就好了。 |
|
| 第3楼 chujiafu | 发表于 2010-07-19 10:44 |
| 银牌会员 发帖 595 积分 1,339 来自 安徽 宿州 | |
|
完整,加引号也不行,后2项仍不能成功,显示“命令行参数太多”。
[ Last edited by chujiafu on 2010-7-19 at 10:49 ] |
|
| 第4楼 slore | 发表于 2010-07-20 09:24 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
"%folder%\My pictures"
不是 "%folder%"\My pictures |
|
| 第5楼 lovelymorning | 发表于 2010-07-20 21:32 |
| 初级用户 发帖 72 积分 131 | |
|
[ Last edited by lovelymorning on 2010-7-20 at 21:34 ] |
|
| 第6楼 chujiafu | 发表于 2010-07-21 17:54 |
| 银牌会员 发帖 595 积分 1,339 来自 安徽 宿州 | |
|
Re 4楼slore兄:"%folder%\My pictures"也不行,错误提示为“命令行参数太多”;
Re 5楼 lovelymorning兄:方法可行,但Wfolder2初始选择文件夹时不是D:盘,而是批处理文件所在的文件夹。请问lovelymorning兄,如何在你的批处理里让Wfolder2初始选择的文件夹是D:盘呀? |
|
| 第7楼 lovelymorning | 发表于 2010-07-21 21:12 |
| 初级用户 发帖 72 积分 131 | |
|
Win7 系统,这个 wf…… 没法搞成初始选择D盘的。。。。。 |
|
| 第8楼 chujiafu | 发表于 2010-07-21 21:57 |
| 银牌会员 发帖 595 积分 1,339 来自 安徽 宿州 | |
|
Re 7楼lovelymorning兄:不行,提示“命令行参数太多"。
|
|
| 第9楼 lovelymorning | 发表于 2010-07-21 22:28 |
| 初级用户 发帖 72 积分 131 | |
|
Win7系统。没测试。。。不保能用。。。。 |
|
| 第10楼 chujiafu | 发表于 2010-07-22 09:19 |
| 银牌会员 发帖 595 积分 1,339 来自 安徽 宿州 | |
|
在XP下终于成功了,感谢lovelymorning兄。lovelymoning兄真乃批处理高手呀。
lovelymorning兄能不能解释一下9楼批处理中的第4行呀? |
|
| 第11楼 lovelymorning | 发表于 2010-07-22 14:09 |
| 初级用户 发帖 72 积分 131 | |
|
for /f "delims=" %%a in ('echo %Folder%') do (set Folder=%%~a)
只是将 folder 这个变量给去掉 引号 而已。。。 |
|
| 第12楼 chujiafu | 发表于 2010-07-22 15:44 |
| 银牌会员 发帖 595 积分 1,339 来自 安徽 宿州 | |
|
谢谢lovelymorning兄。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |