高分求一个批处理。。

-编译-人生- 2010-09-13 10:59:58
根据目录下的所有文件生成后缀名为mes的文件。
要求:
1、给批处理文件一个参数,参数为一个目录的路径,根据路径下的每个文件生成一个mes文件。
2、所有生成的mes文件的开头的内容从a.txt文件复制过来。
3、接下来内容为三行,
第一行为“InFileVideo=文件目录+文件名称”
第二行为“InFileAudio=文件目录+文件名称”
第三行为“OutFile=文件目录+new文件名称”
4、接下来的内容从文件b.txt复制过来。
5、生成mes文件名称的规律为abc000.mes——abc999.mes
6、最后还要生成一个名为abc.mes的文件,
文件开头的内容从c.txt文件复制得来。
后边的内容为循环“ListEntry(0至999)=之前后成的mes文件目录+名件名”
...全文
198 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangbin42 2010-09-20
  • 打赏
  • 举报
回复
不错,哦!
就是just4 2010-09-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ljc007 的回复:]
1、set /a进行数值计算的时候,只写变量名就行了,不用%%或者!!
2、echo后面的.改成,可以提高效率
[/Quote]

还得好好的向007学习,批处理也只是半桶水,也不知最近溜哪去了,:)

[code=BatchFile]set test=100
set /a test=test/10
echo,%test%[/code]

ljc007 2010-09-14
  • 打赏
  • 举报
回复
1、set /a进行数值计算的时候,只写变量名就行了,不用%%或者!!
2、echo后面的.改成,可以提高效率
csw535531988 2010-09-14
  • 打赏
  • 举报
回复
学习批处理..........
gj7yu007 2010-09-14
  • 打赏
  • 举报
回复
.[Quote=引用 1 楼 just4 的回复:]
BatchFile code
@echo off
set afile=c:\test\afile.txt
set bfile=c:\test\bfile.txt
set cfile=c:\test\cfile.txt

:loop
set /p filepath=输入文件所在目录有效路径(x:\folder):
if not exist %filepath% goto :loop
……
[/Quote]
jackiedzc 2010-09-14
  • 打赏
  • 举报
回复
迷茫中。。。。。。。。。。。。。
就是just4 2010-09-13
  • 打赏
  • 举报
回复
[code=BatchFile]@echo off
set afile=c:\test\afile.txt
set bfile=c:\test\bfile.txt
set cfile=c:\test\cfile.txt

:loop
set /p filepath=输入文件所在目录有效路径(x:\folder):
if not exist %filepath% goto :loop

setlocal enabledelayedexpansion
set num=1
del %filepath%\*.mes /f
copy %cfile% %filepath%\abc.mes /y
for /f %%i in ('dir %filepath%\*.* /b /a-d') do (
set /a nnum=!num!/10
if "!nnum!"=="0" (
set mesfile=abc00!num!.mes
) else (
set /a nnum=!num!/100
if "!nnum!"=="0" (
set mesfile=abc0!num!.mes
) else (
set mesfile=abc!num!.mes
)
)
copy %afile% %filepath%\!mesfile! /y /a
>>%filepath%\!mesfile! (
echo.InFileVideo=%filepath%+%%~nxi
echo.InFileAudio=%filepath%+%%~nxi
echo.OutFile=%filepath%+new%%~nxi
)
copy "%filepath%\!mesfile!"+"%bfile%" /y /a
>>%filepath%\abc.mes (
echo.ListEntry(0至999)=%filepath%+!mesfile!
)
set /a num=!num!+1
)
endlocal
echo OK
pause>nul[/code]
我是一道光_ 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 drifter250771 的回复:]
别说代码了,楼主这个问题我都看不懂。。。
[/Quote]

哈哈,批处理不熟呀。

顶下吧
就是just4 2010-09-13
  • 打赏
  • 举报
回复
[code=BatchFile]@echo off
rem 三个已知文件,改下路径就行,如是批处理文件所在路径直接文件名
set afile=c:\test\afile.txt
set bfile=c:\test\bfile.txt
set cfile=c:\test\cfile.txt

:loop
set /p filepath=输入要处理文件所在目录有效路径(x:\folder):
if not exist %filepath% goto :loop

setlocal enabledelayedexpansion
rem 从0开始计数
set num=0
rem 删除批处理文件所在路径下已有的mes文件,如不需要注释掉即可
del %filepath%\*.mes /f
rem 先复制cfile到abc.mes合计文件
copy %cfile% abc.mes /y /b
rem 以下主循环
for /f %%i in ('dir %filepath%\*.* /b /a-d') do (
set /a nnum=!num!/10
if "!nnum!"=="0" (
set mesfile=abc00!num!.mes
) else (
set /a nnum=!num!/100
if "!nnum!"=="0" (
set mesfile=abc0!num!.mes
) else (
set mesfile=abc!num!.mes
)
)
rem 先合并afile文件
copy %afile% !mesfile! /y /b
rem 附加中间内容
>>!mesfile! (
echo.InFileVideo=%%~fi
echo.InFileAudio=%%~fi
echo.OutFile=%%~dpinew%%~nxi
)
rem 附加bfile文件
copy "!mesfile!"+"%bfile%" /y /b
rem 处理abc文件合计,如不要等号后面的直接删除即可
>>abc.mes (
echo.ListEntry!num!=!mesfile!
)
set /a num=!num!+1
)
endlocal
echo OK
rem 假设批处理存c:\,要处理文件夹是c:\test,在c:\test下生成测试结果如下:
rem 文件:abc000.mes
rem afile
rem InFileVideo=C:\abc000.mes
rem InFileAudio=C:\abc000.mes
rem OutFile=C:\newabc000.mes
rem bfile
rem 文件:abc.mes
rem cfile
rem ListEntry0=abc000.mes
rem ListEntry1=abc001.mes
rem ListEntry2=abc002.mes
pause>nul[/code]
drifter250771 2010-09-13
  • 打赏
  • 举报
回复
别说代码了,楼主这个问题我都看不懂。。。
-编译-人生- 2010-09-13
  • 打赏
  • 举报
回复
很复杂吧,说实话,二楼真的很强,光看那点代码看的我头都大了,也没看懂多少。

二楼大哥快现身再帮帮忙吧。
把我提的那几个补充问题解决了吧。
chenrigui 2010-09-13
  • 打赏
  • 举报
回复
真的很复杂,看的我头晕晕的
-编译-人生- 2010-09-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 just4 的回复:]

BatchFile code
@echo off
set afile=c:\test\afile.txt
set bfile=c:\test\bfile.txt
set cfile=c:\test\cfile.txt

:loop
set /p filepath=输入文件所在目录有效路径(x:\folder):
if not exist %filepath% goto :loop

setlo……
[/Quote]

29行到31行我做了点修改
应该是
echo.InFileVideo=%filepath%\%%~nxi
echo.InFileAudio=%filepath%\%%~nxi
echo.OutFile=%filepath%\new%%~nxi

还有35行的
echo.ListEntry(0至999)=%filepath%+!mesfile!
我想要的是ListEntry后面加的是循环的次数,从0到后一次循环。不是真的为“(0至999)”
如第一行为ListEntry0=
第二行为ListEntry1=

另外发现的几个问题
第一个是程序会在批处理文件所在的目录和读取数据的目录里都产生abc00*.mes文件,但是在批处理所在的目录里没有abc.mes文件,而在读取数据的目录里生成的文件内容中又没有复制cfile.txt的内容,而且会多出一个mes文件,其内容为abc.mes的,也就是
InFileVideo=E:\btv_发布文件\btv_cj\abc.mes
InFileAudio=E:\btv_发布文件\btv_cj\abc.mes
OutFile=E:\btv_发布文件\btv_cj\newabc.mes
这个是不应该生成的。

还有一个问题是生成的文件是从abc001.mes开始的,我想从abc000.mes开始。


是不是要求有点多了,也不知道表达的是不是清楚。总之是多谢谢了。
没办法我实在是不会批处理
使用批处理进行操作,直接生成文件信息文本(包括相对路径)。 注意: 请勿更改文件名,否则导致不可用! 将此文件与要获取文件列表信息的文件夹放在同一文件夹下。 --------------------------------------------------------------------------- ↓生成效果如下: ..\PADS补丁\PADS补丁.rar ..\PADS补丁\密码和使用说明.txt ..\PADS补丁\PADS补丁\基础补丁\1111.reg ..\PADS补丁\PADS补丁\基础补丁\22222.reg ..\PADS补丁\PADS补丁\通用型补丁\chs\BlazeRouterMonitorRes.dll ..\PADS补丁\PADS补丁\通用型补丁\chs\BlazeRouterRes.dll ..\PADS补丁\PADS补丁\通用型补丁\chs\DxDRouterLinkres.dll ..\PADS补丁\PADS补丁\通用型补丁\chs\logtext.mdb ..\PADS补丁\PADS补丁\通用型补丁\chs\powerlogicres.dll ..\PADS补丁\PADS补丁\通用型补丁\chs\powerpcb.mdb ..\PADS补丁\PADS补丁\通用型补丁\chs\powerpcbres.dll ..\PADS补丁\PADS补丁\通用型补丁\chs\PowerUI500Res.dll ..\PADS补丁\PADS补丁\通用型补丁\chs\pwrlogic.mdb ..\PADS补丁\PADS补丁\通用型补丁\chs\ViewDrawLinkres.dll ..\PADS补丁\PADS补丁\通用型补丁\chs\BlazeRouterHLP\Routerlist.htm ..\PADS补丁\PADS补丁\通用型补丁\chs\BlazeRouterHLP\Routertop.htm ..\PADS补丁\PADS补丁\通用型补丁\chs\BlazeRouterHLP\Welcome.htm ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\ehlpdhtm.js ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\Right.htm ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\welcome.css ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\BlazeIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\BlueBG.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\book.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\getstarted.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\hammer.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\HelpIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\LogicIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\Logo.png ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\Newicon.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\PADS.png ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\PCBIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\QuickStartIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\TopWelcome.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\TutorialIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\commonHLP\pics\WebIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\chs\PowerLogicHLP\Logiclist.htm ..\PADS补丁\PADS补丁\通用型补丁\chs\PowerLogicHLP\Logictop.htm ..\PADS补丁\PADS补丁\通用型补丁\chs\PowerLogicHLP\Welcome.htm ..\PADS补丁\PADS补丁\通用型补丁\chs\PowerPCBHLP\PCBlist.htm ..\PADS补丁\PADS补丁\通用型补丁\chs\PowerPCBHLP\PCBtop.htm ..\PADS补丁\PADS补丁\通用型补丁\chs\PowerPCBHLP\Welcome.htm ..\PADS补丁\PADS补丁\通用型补丁\enu\BlazeRouterRes.dll ..\PADS补丁\PADS补丁\通用型补丁\enu\DxDRouterLinkres.dll ..\PADS补丁\PADS补丁\通用型补丁\enu\logtext.mdb ..\PADS补丁\PADS补丁\通用型补丁\enu\powerlogicres.dll ..\PADS补丁\PADS补丁\通用型补丁\enu\powerpcb.mdb ..\PADS补丁\PADS补丁\通用型补丁\enu\powerpcbres.dll ..\PADS补丁\PADS补丁\通用型补丁\enu\pwrlogic.mdb ..\PADS补丁\PADS补丁\通用型补丁\enu\ViewDrawLinkres.dll ..\PADS补丁\PADS补丁\通用型补丁\enu\BlazeRouterHLP\Routerlist.htm ..\PADS补丁\PADS补丁\通用型补丁\enu\BlazeRouterHLP\Routertop.htm ..\PADS补丁\PADS补丁\通用型补丁\enu\BlazeRouterHLP\Welcome.htm ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\ehlpdhtm.js ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\Right.htm ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\welcome.css ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\BlazeIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\BlueBG.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\book.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\getstarted.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\hammer.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\HelpIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\LogicIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\Logo.png ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\Newicon.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\PADS.png ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\PCBIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\QuickStartIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\TopWelcome.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\TutorialIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\commonHLP\pics\WebIcon.gif ..\PADS补丁\PADS补丁\通用型补丁\enu\PowerLogicHLP\Logiclist.htm ..\PADS补丁\PADS补丁\通用型补丁\enu\PowerLogicHLP\Logictop.htm ..\PADS补丁\PADS补丁\通用型补丁\enu\PowerLogicHLP\Welcome.htm ..\PADS补丁\PADS补丁\通用型补丁\enu\PowerPCBHLP\PCBlist.htm ..\PADS补丁\PADS补丁\通用型补丁\enu\PowerPCBHLP\PCBtop.htm ..\PADS补丁\PADS补丁\通用型补丁\enu\PowerPCBHLP\Welcome.htm ..\PADS补丁\PADS补丁\高分辨率补丁\chs\BlazeRouterMonitorRes.dll ..\PADS补丁\PADS补丁\高分辨率补丁\chs\BlazeRouterRes.dll ..\PADS补丁\PADS补丁\高分辨率补丁\chs\DxDRouterLinkres.dll ..\PADS补丁\PADS补丁\高分辨率补丁\chs\logtext.mdb ..\PADS补丁\PADS补丁\高分辨率补丁\chs\powerlogicres.dll ..\PADS补丁\PADS补丁\高分辨率补丁\chs\powerpcb.mdb ..\PADS补丁\PADS补丁\高分辨率补丁\chs\powerpcbres.dll ..\PADS补丁\PADS补丁\高分辨率补丁\chs\PowerUI500Res.dll ..\PADS补丁\PADS补丁\高分辨率补丁\chs\pwrlogic.mdb ..\PADS补丁\PADS补丁\高分辨率补丁\chs\ViewDrawLinkres.dll ..\PADS补丁\PADS补丁\高分辨率补丁\chs\BlazeRouterHLP\Routerlist.htm ..\PADS补丁\PADS补丁\高分辨率补丁\chs\BlazeRouterHLP\Routertop.htm ..\PADS补丁\PADS补丁\高分辨率补丁\chs\BlazeRouterHLP\Welcome.htm ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\ehlpdhtm.js ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\Right.htm ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\welcome.css ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\BlazeIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\BlueBG.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\book.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\getstarted.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\hammer.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\HelpIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\LogicIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\Logo.png ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\Newicon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\PADS.png ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\PCBIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\QuickStartIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\TopWelcome.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\TutorialIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\commonHLP\pics\WebIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\chs\PowerLogicHLP\Logiclist.htm ..\PADS补丁\PADS补丁\高分辨率补丁\chs\PowerLogicHLP\Logictop.htm ..\PADS补丁\PADS补丁\高分辨率补丁\chs\PowerLogicHLP\Welcome.htm ..\PADS补丁\PADS补丁\高分辨率补丁\chs\PowerPCBHLP\PCBlist.htm ..\PADS补丁\PADS补丁\高分辨率补丁\chs\PowerPCBHLP\PCBtop.htm ..\PADS补丁\PADS补丁\高分辨率补丁\chs\PowerPCBHLP\Welcome.htm ..\PADS补丁\PADS补丁\高分辨率补丁\enu\BlazeRouterRes.dll ..\PADS补丁\PADS补丁\高分辨率补丁\enu\DxDRouterLinkres.dll ..\PADS补丁\PADS补丁\高分辨率补丁\enu\logtext.mdb ..\PADS补丁\PADS补丁\高分辨率补丁\enu\powerlogicres.dll ..\PADS补丁\PADS补丁\高分辨率补丁\enu\powerpcb.mdb ..\PADS补丁\PADS补丁\高分辨率补丁\enu\powerpcbres.dll ..\PADS补丁\PADS补丁\高分辨率补丁\enu\pwrlogic.mdb ..\PADS补丁\PADS补丁\高分辨率补丁\enu\ViewDrawLinkres.dll ..\PADS补丁\PADS补丁\高分辨率补丁\enu\BlazeRouterHLP\Routerlist.htm ..\PADS补丁\PADS补丁\高分辨率补丁\enu\BlazeRouterHLP\Routertop.htm ..\PADS补丁\PADS补丁\高分辨率补丁\enu\BlazeRouterHLP\Welcome.htm ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\ehlpdhtm.js ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\Right.htm ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\welcome.css ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\BlazeIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\BlueBG.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\book.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\getstarted.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\hammer.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\HelpIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\LogicIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\Logo.png ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\Newicon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\PADS.png ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\PCBIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\QuickStartIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\TopWelcome.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\TutorialIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\commonHLP\pics\WebIcon.gif ..\PADS补丁\PADS补丁\高分辨率补丁\enu\PowerLogicHLP\Logiclist.htm ..\PADS补丁\PADS补丁\高分辨率补丁\enu\PowerLogicHLP\Logictop.htm ..\PADS补丁\PADS补丁\高分辨率补丁\enu\PowerLogicHLP\Welcome.htm ..\PADS补丁\PADS补丁\高分辨率补丁\enu\PowerPCBHLP\PCBlist.htm ..\PADS补丁\PADS补丁\高分辨率补丁\enu\PowerPCBHLP\PCBtop.htm ..\PADS补丁\PADS补丁\高分辨率补丁\enu\PowerPCBHLP\Welcome.htm

6,850

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧