[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求一个循环复制文件的批处理代码!

大家好,我是个菜鸟,刚开始学习批处理。我有一个问题:现在有一个文件aa.dat在e盘根目录里,我要编写一个批处理的循环复制脚本,编好后,在“开始”-“运行”-“cmd”里,输入aa.dat 和50(循环复制的次数),它就能在e盘里自动复制50个相同的文件,条件是他们的名字是:aa1.dat,aa2.dat... ...aa50.dat。请问这个批处理怎么写?
谢谢!不胜感激!!!
(我之前写好了一个.bat文件,是把它点击后就能自动复制固定数目的文件,分别是aa1.dat... ...aa50.dat,但是老师又说要编一个能在“开始”-“运行”-“cmd”里直接输入aa.dat和复制数目的批处理文件,而且输入的复制数目是多少,点回车之后就会在e盘里复制多少!而我写那个的复制数目是死的!)
请高手帮忙想想代码该怎么写!不胜感激!
1

评分人数

    • namejm: 分类错误+标题催命,请认真阅读总版规。PB -2

  1. @echo off&for /l %%i in (1,1,%1) do copy %0 f:\aa%%i.bat
复制代码

[ 本帖最后由 zhouyongjun 于 2008-12-3 17:33 编辑 ]

TOP

我也是个菜鸟。不过我知道bat是可以接收参数的,接收到的参数在bat里以%加数字的方式引用。我想你改一下原来写好的批处理就好了,把里面的那个复制数目用 %1 代替。%1表示bat接收到的第一个参数,第二个参数就是%2,依此类推。

[ 本帖最后由 imchpy 于 2008-12-3 18:46 编辑 ]

TOP

回复 3楼 的帖子

建议区分清楚DOS和CMD
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

原帖由 Batcher 于 2008-12-3 17:55 发表
建议区分清楚DOS和CMD

不好意思,用cmd用惯了。。。。
楼主说了是在“运行”中输入的,所以我想它应该也是指的cmd吧。

TOP

  只指定要复制的文件名和数量,而不指定运行的是哪个批处理就直接复制,这样的操作方式闻所未闻,要么是你那个老师有意刁难你,要么就是我们孤陋寡闻了,还请楼主准确描述你的真实意图。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

顶上,做坏事的可不教。

TOP

再叙述一下!求一段用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盘目录里创建成功了。
        各位大侠,我表达的清楚吗?脚本代码怎么写?拜托了
1

评分人数

    • namejm: 不要重复发帖!!!PB -2

TOP

  1. @echo off
  2. for /l %%a in (1 1 %2) do (echo copy "%~1" "%~n1%%a%~x1")
  3. pause
复制代码
如果显示正常,请把echo和pause去掉...

TOP

谢谢!

我试了,成功了,感谢各位高手!!!

TOP

返回列表