|
wushuncheng
新手上路
积分 13
发帖 9
注册 2009-9-8
状态 离线
|
『楼 主』:
求可以替换不同文本文档内容的批处理
所有文本文档都放在E:\KSC目录下!!要求把文档中的数字替换成对应的文字,一个文档只对应一个数字,文档有上千个,只举三个文本文档为例!!!
380009 5566乐队-It's Our Party
380013 5566乐队-传说
380016 5566乐队-冷风过境
下面这样子弄的参数有哪个地方不对,批量改多了就不行??哪位高手帮忙指出下!!!非常感谢!!!!!!!!!!!!!!!!
@echo off
setlocal enabledelayedexpansion
md "e:\ksc" 2>nul
for /f "delims=" %%a in ('dir /a-d/b e:\ksc') do (
for /f "delims=" %%i in ('type "e:\ksc\%%a"') do (
set "var=%%i"
set "var=!var:380009=5566乐队-It's Our Party!"
set "var=!var:380013=5566乐队-传说!"
set "var=!var:380016=5566乐队-冷风过境!"
>>"e:\ksc\%%a" echo.!var!
))
pause
|
|
2009-9-14 06:04 |
|
|
xiaofei120
新手上路
积分 14
发帖 14
注册 2009-9-8
状态 离线
|
『第
2 楼』:
先你把写有380009 380013 380016内容的几个文本文档都方在e:\ksc目录
在执行:
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d/b e:\ksc') do (
for /f "delims=" %%i in ('type "e:\ksc\%%a"') do (
set "var=%%i"
set "var=!var:380009=5566乐队-It's Our Party!"
set "var=!var:380013=5566乐队-传说!"
set "var=!var:380016=5566乐队-冷风过境!"
>"e:\ksc\%%a" echo.!var!
))
pause
这样就可以了。
|
|
2009-9-14 06:32 |
|
|
wushuncheng
新手上路
积分 13
发帖 9
注册 2009-9-8
状态 离线
|
『第
3 楼』:
我的所有文档都是放在E:\ksc下面的,还是一点都不会改变,是不是我的文本文档太多了???有上万个要改的~!!!
还有没有别的方法啊???望高手告知,非常感谢!!急啊!!!!!!!
[ Last edited by wushuncheng on 2009-9-14 at 22:43 ]
|
|
2009-9-14 22:42 |
|
|
523066680
银牌会员
SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
『第
4 楼』:
@echo off
for %%a in (
"380009 : 5566乐队-It's Our Party "
"380013 : 5566乐队-传说"
"380016 : 5566乐队-冷风过境"
) do (
set now=%%a
call :next %%now: : =" "%%
)
pause
exit
:next
echo %~2>%1
type %1 [ Last edited by 523066680 on 2009-9-14 at 23:10 ]
|
综合型编程论坛
我的作品索引 |
|
2009-9-14 23:08 |
|
|
wushuncheng
新手上路
积分 13
发帖 9
注册 2009-9-8
状态 离线
|
『第
5 楼』:
Quote: | Originally posted by 523066680 at 2009-9-14 23:08:
[code]
@echo off
for %%a in (
"380009 : 5566乐队-It's Our Party "
"380013 : 5566乐队-传说"
"380016 : 5566乐队-冷风过境"
) do (
set now=%%a
ca ... |
|
由于文件需要大批量修改才刚开始学的~!!所以很多地方都不懂,按照你的参数把脚本运行了下还是没有反应,不知道哪里不对??难道是我文本文档太多造成的吗???
脚本运行后出现 ECHO 处于关闭状态。
[ Last edited by wushuncheng on 2009-9-14 at 23:59 ]
|
|
2009-9-14 23:53 |
|
|
523066680
银牌会员
SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
『第
6 楼』:
哇这么先进……
我这边成功了,你那边是用的什么系统。
应该不是文件多造成的、
哦 好像我也把题目理解错了……
[ Last edited by 523066680 on 2009-9-15 at 00:04 ]
|
综合型编程论坛
我的作品索引 |
|
2009-9-15 00:02 |
|
|
wushuncheng
新手上路
积分 13
发帖 9
注册 2009-9-8
状态 离线
|
『第
7 楼』:
Quote: | Originally posted by 523066680 at 2009-9-15 00:02:
哇这么先进……
我这边成功了,你那边是用的什么系统。
应该不是文件多造成的、
哦 好像我也把题目理解错了……
[ Last edited by 523066680 on 2009-9-15 at 00:04 ] |
|
XP
我是需要把文本文档里面的内容改掉~~你的脚本运行后,重新生成了很多文本文档,文档里面就只有中文,文档名就变成数字了!!
|
|
2009-9-15 00:06 |
|
|
523066680
银牌会员
SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
『第
8 楼』:
重新理解了一下,你是要找到指定内容的文本,然后把信息换掉对吧
@echo off
for %%a in (
"380009 : 5566乐队-It's Our Party "
"380013 : 5566乐队-传说"
"380016 : 5566乐队-冷风过境"
) do (
set now=%%a
call :next %%now: : =" "%%
)
pause
exit
:next
for /f "tokens=1 delims=:" %%a in ('findstr /p /c:%1 *') do (
echo,%~2>%%a
echo,%%a
) [ Last edited by 523066680 on 2009-9-15 at 00:18 ]
|
综合型编程论坛
我的作品索引 |
|
2009-9-15 00:17 |
|
|
wushuncheng
新手上路
积分 13
发帖 9
注册 2009-9-8
状态 离线
|
『第
9 楼』:
运行后出现的内容:
系统找不到指定的批处理标签 - next
系统找不到指定的批处理标签 - next
系统找不到指定的批处理标签 - next
能加我QQ吗?? QQ6005424 真的很急,谢谢帮忙了!!!!!!!
[ Last edited by wushuncheng on 2009-9-15 at 00:27 ]
|
|
2009-9-15 00:26 |
|
|
523066680
银牌会员
SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
『第
10 楼』:
郁闷 没文件的时候就删自己了,改改
@echo off
for %%a in (
"380009 : 5566乐队-It's Our Party "
"380013 : 5566乐队-传说"
"380016 : 5566乐队-冷风过境"
) do (
set now=%%a
call :next %%now: : =" "%%
)
pause
exit
:next
for /f "tokens=1 delims=:" %%a in ('findstr /p /c:%1 *') do (
if "%%a"=="%~nx0" (goto :eof)
echo,%~2>%%a
echo,%%a
)
|
综合型编程论坛
我的作品索引 |
|
2009-9-15 00:29 |
|
|
523066680
银牌会员
SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
|
2009-9-15 00:30 |
|
|
wushuncheng
新手上路
积分 13
发帖 9
注册 2009-9-8
状态 离线
|
『第
12 楼』:
Quote: | Originally posted by 523066680 at 2009-9-15 00:30:
非常神奇 我这边执行成功…… |
|
非常感谢!!!!!!!!!!!!!!!!
|
|
2009-9-15 02:02 |
|