标题: [推荐]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疏忽了第一行的内容,而是楼主开始根本没告诉大家他的文本内容到底长什么模样^_^