|
xuehaiwuya
初级用户
 
积分 165
发帖 79
注册 2007-10-27
状态 离线
|
『楼 主』:
批处理修改文本高级问题求助
使用 LLM 解释/回答一下
A.txt
abcd.dll
cdfg.exe
dfgrt.dll
fghdghkl.dll
dfegerhgrehgf.exe
...
B.txt
I !Love you ("c:\5.txt")
I Love you ("c:\6.txt")
I Love you ("c:\7.txt")
如何循环生成B1.txt,B2.txt,B3.txt,...
其中B1.txt
I !Love you ("c:\5.txt")
I Love you ("c:\abcd.dll")
I Love you ("c:\7.txt")
B2.txt
I !Love you ("c:\5.txt")
I Love you ("c:\cdfg.exe")
I Love you ("c:\7.txt")
B3.txt
I !Love you ("c:\5.txt")
I Love you ("c:\dfgrt.dll")
I Love you ("c:\7.txt")
....
能用批处理执行这个过程吗?
暂时在本论坛没看到可实现的BAT代码
请高手帮忙实现!
|
|
2007-10-27 14:21 |
|
|
vkill
金牌会员
     
积分 4103
发帖 1744
注册 2006-1-20 来自 甘肃.临泽
状态 离线
|
|
2007-10-27 19:56 |
|
|
sinbao
初级用户
 
积分 184
发帖 73
注册 2007-5-24
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
@echo off
setlocal enabledelayedexpansion
set /a count=0
for /f "delims=" %%i in (a.txt) do (
set /a "count+=1"
set file=B!count!.txt
echo I ^^!Love you ^("c:\5.txt"^)>!file!
echo I Love you ^("%%i"^)>>!file!
echo I Love you ^("c:\7.txt"^)>>!file!
)
endlocal
goto :EOF
|
|
2007-10-27 20:50 |
|
|
xuehaiwuya
初级用户
 
积分 165
发帖 79
注册 2007-10-27
状态 离线
|
|
2007-10-28 02:23 |
|
|
xuehaiwuya
初级用户
 
积分 165
发帖 79
注册 2007-10-27
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
Originally posted by sinbao at 2007-10-27 08:50 PM:
@echo off
setlocal enabledelayedexpansion
set /a count=0
for /f "delims=" %%i in (a.txt) do (
set /a "count+=1"
set file=B!count!.txt
echo ...
如果A.txt内容很多的话
这样写BAT很累的
echo I ^^!Love you ^("c:\5.txt"^)>!file!
echo I Love you ^("%%i"^)>>!file!
echo I Love you ^("c:\7.txt"^)>>!file!
最好能从B.txt中调用文件内容
能用FOR循环解决吗
有谁能改进代码啊
换句话说
是如何在写一个简单的介质BAT生成十楼所写的BAT
Last edited by xuehaiwuya on 2007-10-28 at 12:52 PM ]
|
|
2007-10-28 12:42 |
|
|
fastslz
铂金会员
       DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
|
2007-10-28 13:39 |
|
|
lxmxn
版主
       
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
|
2007-10-28 18:25 |
|
|
xuehaiwuya
初级用户
 
积分 165
发帖 79
注册 2007-10-27
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
B.txt
I !Love you ("c:\5.txt")
I Love you ("c:\6.txt")
I Love you ("c:\7.txt")
要修改c:\6.txt
|
|
2007-10-28 21:27 |
|
|
sinbao
初级用户
 
积分 184
发帖 73
注册 2007-5-24
状态 离线
|
|
2007-10-28 22:09 |
|
|
xuehaiwuya
初级用户
 
积分 165
发帖 79
注册 2007-10-27
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
Originally posted by sinbao at 2007-10-28 10:09 PM:
首先你要分清楚需求变化的是哪一部分,然后才能在代码上把那一部分反映出来.
顶楼写得很清楚
而且你实现了
但是
你的这个方法假若B.TXT很大的时候很累
毕竟B.TXT是现成的
所写的BAT中的B.TXT部分应当可以循环调用B.TXT来写入那样就可以节省操作的时间
|
|
2007-10-28 23:08 |
|
|
sinbao
初级用户
 
积分 184
发帖 73
注册 2007-5-24
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
你的b.txt文件里面有太多的特殊字符,用循环很麻烦或者不可能,建议你用sed或者perl来做这些事情...因为dos毕竟不是搞文本解析的...
|
|
2007-10-28 23:40 |
|
|
xuehaiwuya
初级用户
 
积分 165
发帖 79
注册 2007-10-27
状态 离线
|
|
2007-10-28 23:57 |
|