楼 主
[推荐]dos批处理高级教程精选合编
发表于 2008-09-21 20:37 · 中国 河北 廊坊 联通
初级用户
★
积分 56 发帖 24 注册 2006-12-25 21:19 19年会员 UID 74548 性别 男
状态 离线
第 2 楼
发表于 2008-09-21 20:43 · 中国 河北 廊坊 联通
初级用户
★
积分 56 发帖 24 注册 2006-12-25 21:19 19年会员 UID 74548 性别 男
状态 离线
另外还有个问题想再麻烦下大家
刚刚使用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 楼
发表于 2008-09-21 20:58 · 中国 福建 漳州 联通
中级用户
★★
积分 228 发帖 125 注册 2008-08-25 19:17 17年会员 UID 124135 性别 男
状态 离线
把上面代码改成如下即可
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 楼
Re 3楼
发表于 2008-09-21 21:09 · 中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
不是HAT疏忽了第一行的内容,而是楼主开始根本没告诉大家他的文本内容到底长什么模样^_^
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正