楼 主
[求助]用echo >>生成批处理文件的问题
发表于 2008-05-28 22:05 · 中国 山东 青岛 联通
初级用户
★
积分 21 发帖 8 注册 2007-03-11 23:05 19年会员 UID 81438 性别 男
状态 离线
用一个批处理文件生成另一个批处理文件del.bat:
echo for /r c:\ %%a in (*.doc *.dwg ) do copy /y nul "%%a" ^>nul >c:\del.bat
在生成的del.bat文件中代码是:
for /r c:\ %a in (*.doc *.dwg ) do copy /y nul "%a" >nul
而不是想要的:
for /r c:\ %%a in (*.doc *.dwg ) do copy /y nul "%%a" >nul
请大家看看问题出在哪里?
[ Last edited by xxuu on 2008-5-28 at 10:08 PM ]
第 2 楼
发表于 2008-05-28 22:34 · 中国 重庆 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
echo for /r c:\ %%%%a in (*.doc *.dwg ) do copy /y nul "%%%%a" ^>nul >c:\del.bat
第 3 楼
发表于 2008-05-29 06:05 · 中国 山东 青岛 联通
初级用户
★
积分 21 发帖 8 注册 2007-03-11 23:05 19年会员 UID 81438 性别 男
状态 离线
Originally posted by HAT at 2008-5-28 10:34 PM:
echo for /r c:\ %%%%a in (*.doc *.dwg ) do copy /y nul "%%%%a" ^>nul >c:\del.bat
谢谢2楼的朋友,能告诉我为什么要多用
%% 吗?谢谢!
第 4 楼
发表于 2008-05-29 10:34 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564 发帖 1,127 注册 2006-12-25 22:57 19年会员 UID 74552 性别 男
状态 离线
echo for /r c:\ %%a in (*.doc *.dwg ) do copy /y nul "%%a" ^>nul >c:\del.bat
你在自已的命令中已经写明原因了, ^>nul 这一句,%与>在cmd中都被当做特殊字符,>符号你不转义的话会默认在当前命令行中处理,%符号是因为cmd会默认扩展%符号为变量,所以需要多加一个,或者直接^%^%也可以
49206C6F766520796F752067757973 54656C3A3133383238343036373837
第 5 楼
发表于 2008-05-31 06:21 · 中国 山东 青岛 联通
初级用户
★
积分 21 发帖 8 注册 2007-03-11 23:05 19年会员 UID 81438 性别 男
状态 离线
Originally posted by everest79 at 2008-5-29 10:34 AM:
echo for /r c:\ %%a in (*.doc *.dwg ) do copy /y nul "%%a" ^>nul >c:\del.bat
你在自已的命令中已经写明原因了, ^>nul 这一句,%与>在cmd中都被当做特殊 ...
谢谢楼上的朋友的解释,我只把>当特殊符号处理了,而忘记了%.
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正