楼 主
【已解决】关于文件中指定内容替换的问题
发表于 2009-02-26 01:43 · 中国 吉林 四平 联通
新手上路
★
积分 11 发帖 8 注册 2009-02-21 12:09 17年会员 UID 139448 性别 男
状态 离线
源文件内容:
Q(0)="不装备法宝,将不能使用?"
A(0)="战斗技能"
Q(1)="在什么NPC那里可以用黯淡的内丹兑换想要的骑宠唤灵符?"
A(1)="石塘县封妖师"
Q(2)="以下哪个描述是正确的?"
A(2)="红名攻击白名会增加罪犯值"
Q(3)="提升官府声望可以获得哪些职业的法宝?"
A(3)="力士,游侠"
Q(4)="打开礼仪动作界面是哪个快捷键? "
A(4)="P键"
……
……
替换成:
@@不装备法宝,将不能使用?
战斗技能
@@在什么NPC那里可以用黯淡的内丹兑换想要的骑宠唤灵符?
石塘县封妖师
@@以下哪个描述是正确的?
红名攻击白名会增加罪犯值
@@提升官府声望可以获得哪些职业的法宝?
力士
游侠
@@打开礼仪动作界面是哪个快捷键?
P键
问题好像很复杂,况且我对批处理不太了解,多谢大家帮忙
补充:文件名是1.txt
测试了两位的不好用啊
还有这里面的问题里面有数字的,但是这些数字不能删除的。
[ Last edited by zuoyuanchun on 2009-2-27 at 04:30 ]
第 2 楼
没还测试过,不知行不?
发表于 2009-02-26 02:34 · 中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916 发帖 752 注册 2008-12-28 04:30 17年会员 UID 135147 性别 男 来自 广西
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1,* delims==" %%a in (源文件) do set str=%%a&call :sub!str:~0,1! %%~b
goto :eof
:subQ
echo @@%*
goto :eof
:subA
echo.%1
shift
if "%1"=="" goto :eof
goto :subA
[ Last edited by netbenton on 2009-2-26 at 12:12 ]
第 3 楼
发表于 2009-02-26 05:25 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
sed "s/^Q(*)=\x22/@@/;s/^A(*)=\x22//;s/\x22$//" your_text_file
第 4 楼
发表于 2009-02-26 08:49 · 中国 吉林 四平 联通
新手上路
★
积分 11 发帖 8 注册 2009-02-21 12:09 17年会员 UID 139448 性别 男
状态 离线
第 5 楼
发表于 2009-02-26 14:11 · 中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916 发帖 752 注册 2008-12-28 04:30 17年会员 UID 135147 性别 男 来自 广西
状态 离线
@echo on&setlocal enabledelayedexpansion
(
for /f "tokens=1,* delims==" %%a in (ch.txt) do set str=%%a&call :sub!str:~0,1! %%~b
)>ch2.txt
pause
goto :eof
:subQ
echo @@%*
goto :eof
:subA
echo.%1
shift
if "%~1"=="" goto :eof
goto :subA
第 6 楼
发表于 2009-02-26 22:51 · 中国 广西 百色 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335 发帖 574 注册 2007-11-27 12:50 18年会员 UID 103929 性别 男 来自 广西
状态 离线
@echo off
setlocal enabledelayedexpansion
set "srcfl=1.txt"
for /f "tokens=1,* delims==" %%a in (%srcfl%) do (
set "str=%%a"
if /i "!str:~,1!"=="q" (
echo.@@%%~b
) else (
echo.%%~b
)
)>>11.txt
start 11.txt
第 7 楼
发表于 2009-02-27 01:22 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
@echo off
(
for /f "tokens=1,* delims==" %%a in (1.txt) do (
if "%%a" gtr "Q" (echo @@%%~b) else echo %%~b
)
)>1_new.txt
第 8 楼
发表于 2009-02-27 04:30 · 中国 吉林 四平 联通
新手上路
★
积分 11 发帖 8 注册 2009-02-21 12:09 17年会员 UID 139448 性别 男
状态 离线
Originally posted by moniuming at 2009-2-26 22:51:
@echo off
setlocal enabledelayedexpansion
set "srcfl=1.txt"
for /f "tokens=1,* delims==" %%a in (%srcfl%) do (
set "str=%%a"
if /i "!str:~,1!" ...
这个不错,至少能看懂是什么意思,学习了
第 9 楼
发表于 2009-02-27 04:32 · 中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404 发帖 946 注册 2005-09-08 13:44 20年会员 UID 42345
状态 离线
@echo off
(for /f "tokens=1,2* delims=()=" %%i in (1.txt) do (
if /i "%%i"=="Q" (echo @@%%~k) ELSE echo %%~k
))>1_new.txt
pause
简单!简单!再简单!
第 10 楼
发表于 2009-02-27 09:06 · 中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916 发帖 752 注册 2008-12-28 04:30 17年会员 UID 135147 性别 男 来自 广西
状态 离线
...
@@在什么NPC那里可以用黯淡的内丹兑换想要的骑宠唤灵符?
石塘县封妖师
@@以下哪个描述是正确的?
红名攻击白名会增加罪犯值
@@提升官府声望可以获得哪些职业的法宝?
力士
游侠
@@打开礼仪动作界面是哪个快捷键?
P键
...
请问楼主红色部分是不是要换行呀?
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正