Board logo

标题: [推荐]dos批处理高级教程精选合编 [打印本页]

作者: xugq     时间: 2008-9-21 20:37    标题: [推荐]dos批处理高级教程精选合编
今天有幸得到了论坛中HAT朋友的大力帮助,再次感谢.我想什么事总是靠别人是不行的.我决定现在开始学习下DOS 的批处理命令.这是刚从网上找到的部分资料 很高兴能和大家分享.原来论坛上有朋友贴过.我再发个PDF 格式的. rthost.fam.cx/cndos- ...

作者: xugq     时间: 2008-9-21 20:43
另外还有个问题想再麻烦下大家 刚刚使用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可能是任意的单个字符,还希望高手们给帮个忙.谢谢了.

作者: hackate     时间: 2008-9-21 20:58
把上面代码改成如下即可 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 ) )

作者: HAT     时间: 2008-9-21 21:09    标题: Re 3楼
不是HAT疏忽了第一行的内容,而是楼主开始根本没告诉大家他的文本内容到底长什么模样^_^