标题: [文件操作] 求一个循环复制文件的批处理代码! [打印本页]
作者: Foe 时间: 2008-12-3 17:16 标题: 求一个循环复制文件的批处理代码!
大家好,我是个菜鸟,刚开始学习批处理。我有一个问题:现在有一个文件aa.dat在e盘根目录里,我要编写一个批处理的循环复制脚本,编好后,在“开始”-“运行”-“cmd”里,输入aa.dat 和50(循环复制的次数),它就能在e盘里自动复制50个相同的文件,条件是他们的名字是:aa1.dat,aa2.dat... ...aa50.dat。请问这个批处理怎么写?
谢谢!不胜感激!!!
(我之前写好了一个.bat文件,是把它点击后就能自动复制固定数目的文件,分别是aa1.dat... ...aa50.dat,但是老师又说要编一个能在“开始”-“运行”-“cmd”里直接输入aa.dat和复制数目的批处理文件,而且输入的复制数目是多少,点回车之后就会在e盘里复制多少!而我写那个的复制数目是死的!)
请高手帮忙想想代码该怎么写!不胜感激!
作者: zhouyongjun 时间: 2008-12-3 17:31
- @echo off&for /l %%i in (1,1,%1) do copy %0 f:\aa%%i.bat
复制代码
[ 本帖最后由 zhouyongjun 于 2008-12-3 17:33 编辑 ]
作者: imchpy 时间: 2008-12-3 17:35
我也是个菜鸟。不过我知道bat是可以接收参数的,接收到的参数在bat里以%加数字的方式引用。我想你改一下原来写好的批处理就好了,把里面的那个复制数目用 %1 代替。%1表示bat接收到的第一个参数,第二个参数就是%2,依此类推。
[ 本帖最后由 imchpy 于 2008-12-3 18:46 编辑 ]
作者: Batcher 时间: 2008-12-3 17:55 标题: 回复 3楼 的帖子
建议区分清楚DOS和CMD
作者: imchpy 时间: 2008-12-3 18:48
原帖由 Batcher 于 2008-12-3 17:55 发表
建议区分清楚DOS和CMD
不好意思,用cmd用惯了。。。。
楼主说了是在“运行”中输入的,所以我想它应该也是指的cmd吧。
作者: namejm 时间: 2008-12-3 19:09
只指定要复制的文件名和数量,而不指定运行的是哪个批处理就直接复制,这样的操作方式闻所未闻,要么是你那个老师有意刁难你,要么就是我们孤陋寡闻了,还请楼主准确描述你的真实意图。
作者: wxcute 时间: 2008-12-3 19:17
顶上,做坏事的可不教。
作者: Foe 时间: 2008-12-3 23:35 标题: 再叙述一下!求一段用for循环写的批处理代码!
可能各位大侠想复杂了。
首先,我已经在c(c:\)盘目录下创建了一个空的文档aa.dat(不是文件夹),然后我要用for循环写一个复制这个文档的脚本,保存为XXX.bat格式(老师说是要用什么for loop写,我刚开始学习批处理,连什么是for loop也搞不清,反正他说要我们自己搞定)。条件:把这个aa.dat文档复制50份,仍然保存在c盘目录下,但是这50份文档的名字分别是aa1.dat,aa2.dat... ...,aa50.dat。
然后,打开dos命令提示符,先输入“cd_c:\”切换到c盘目录下,然后在后面输入:编好的这个脚本名“(XXX.bat)”[空格]要复制的目标文件“(aa.dat)”[空格]要复制的次数(50),点回车之后它就自动在c盘目录里创建成功了。
各位大侠,我表达的清楚吗?脚本代码怎么写?拜托了
作者: more 时间: 2008-12-3 23:46
- @echo off
- for /l %%a in (1 1 %2) do (echo copy "%~1" "%~n1%%a%~x1")
- pause
复制代码
如果显示正常,请把echo和pause去掉...
作者: Foe 时间: 2008-12-4 11:03 标题: 谢谢!
我试了,成功了,感谢各位高手!!!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |