中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 20:00
47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行
DOS批处理 & 脚本技术(批处理室) » [推荐]dos批处理高级教程精选合编
可打印版本  848 / 3
第1楼 xugq 发表于 2008-09-21 20:37
初级用户 发帖 24 积分 56
[推荐]dos批处理高级教程精选合编
今天有幸得到了论坛中HAT朋友的大力帮助,再次感谢.我想什么事总是靠别人是不行的.我决定现在开始学习下DOS 的批处理命令.这是刚从网上找到的部分资料
很高兴能和大家分享.原来论坛上有朋友贴过.我再发个PDF 格式的.
http://upload.cn-dos.net/img/778.rar
第2楼 xugq 发表于 2008-09-21 20:43
初级用户 发帖 24 积分 56
另外还有个问题想再麻烦下大家
刚刚使用HAT 朋友提供的脚本


@echo off
>b.txt type nul
for /f "tokens=1-3 delims=:=" %%a in (a.txt) do (
echo.%%a=e:%%c
)
move /y b.txt a.txt

效果不错不过还是有个问题.有些地方多出来了个=号不知为什么
例如
原文本
[directories]
SystemDir=c:\pads2005\2005PADS\SDD_HOME\Programs
FileDir=c:\pads2005\PADS Projects
UserDir=c:\pads2005\Settings
LibDir=c:\pads2005\Libraries
ReuseDir=c:\pads2005\PADS Projects\Reuse
CAMDir=c:\pads2005\PADS Projects\Cam

现在是
[directories]=
SystemDir=e:\pads2005\2005PADS\SDD_HOME\Programs
FileDir=e:\pads2005\PADS Projects
UserDir=e:\pads2005\Settings
LibDir=e:\pads2005\Libraries
ReuseDir=e:\pads2005\PADS Projects\Reuse
CAMDir=e:\pads2005\PADS Projects\Cam

在[directories]=后边多了一个=号.不知为什么..
其实我就是想把 =和:\中间的任意字符都给换成统一的字符比如把=c:\换成=d:\
其中=c:\中的C可能是任意的单个字符,还希望高手们给帮个忙.谢谢了.
第3楼 hackate 发表于 2008-09-21 20:58
中级用户 发帖 125 积分 228
把上面代码改成如下即可
HAT疏忽了第一行的内容,他把每行内容加上了=e:,事实上你并没有每行内容都需要替换..
@echo off
for /f "tokens=1-3 delims=:=" %%a in (a.txt) do (
if not "%%c"=="" (
>>b.txt echo.%%a=e:%%c
) else (
>>b.txt echo.%%a
)
)
第4楼 HAT 发表于 2008-09-21 21:09
版主 发帖 5,017 积分 9,023
Re 3楼
不是HAT疏忽了第一行的内容,而是楼主开始根本没告诉大家他的文本内容到底长什么模样^_^
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023