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

[文本处理] [已解决]批处理命令COPY复制文件为何不成功?

本帖最后由 蓝色火焰 于 2013-4-17 16:30 编辑

菜鸟初来咋到,向各位高手请教一个COPY的问题,请不吝赐教!

上级目录中有如下文件:
A3-201003 HZZT.xls
A3-201003 NBZL.xls
A3-201003 SHHC.xls
A3-201003 SHZN.xls
A3-201003 SHZT.xls

我要将上级目录中的以上文件COPY到当前目录下,并分别重命名为以下文件名:
A3-2010 HZZT.xls
A3-2010 NBZL.xls
A3-2010 SHHC.xls
A3-2010 SHZN.xls
A3-2010 SHZT.xls

然后我写了批处理copy.bat,内容如下:
  1. copy ..\"A3-2010* HZZT.xls" "A3-2010 HZZT.xls"
  2. copy ..\"A3-2010* NBZL.xls" "A3-2010 NBZL.xls"
  3. copy ..\"A3-2010* SHHC.xls" "A3-2010 SHHC.xls"
  4. copy ..\"A3-2010* SHZN.xls" "A3-2010 SHZN.xls"
  5. copy ..\"A3-2010* SHZT.xls" "A3-2010 SHZT.xls"
复制代码
可执行后为啥文件COPY过来了,名字也改了,但大小为啥只有1KB,而且根本打不开,不是原来那个文件了。请各位帮忙解疑释惑下,谢谢啦~
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. copy ..\*.xls .
复制代码
命名为test.bat

TOP

回复 2# BAT-VBS


    关键是

A3-201003 HZZT.xls
A3-201003 NBZL.xls
A3-201003 SHHC.xls
A3-201003 SHZN.xls
A3-201003 SHZT.xls

我要将上级目录中的以上文件COPY到当前目录下,并分别重命名为以下文件名:
A3-2010 HZZT.xls
A3-2010 NBZL.xls
A3-2010 SHHC.xls
A3-2010 SHZN.xls
A3-2010 SHZT.xls

TOP

命名为test.bat
BAT-VBS 发表于 2013-4-16 21:56



    你的命令只能将文件COPY过去吧,不能重命名~

TOP

追问一个问题:

上级目录中有如下文件:
A3-201003 HZZT.xls
A3-201003 NBZL.xls
A3-201003 SHHC.xls
A3-201003 SHZN.xls
A3-201003 SHZT.xls

如何使用for命令将上级目录中的以上文件批量COPY到当前目录下,并分别重命名为以下文件名:
A3-2010 HZZT.xls
A3-2010 NBZL.xls
A3-2010 SHHC.xls
A3-2010 SHZN.xls
A3-2010 SHZT.xls

TOP

回复 3# 蓝色火焰


    最开始没注意到文件名也改了,copy命令是不能直接这样做的,明天帮你写代码。

TOP

  1. copy /b "..\A3-2010* HZZT.xls" "A3-2010 HZZT.xls"
复制代码
  1. @echo off&setlocal enabledelayedexpansion
  2. pushd "..\"
  3. for %%a in (a3-201003*.xls) do (
  4.    set "a=%%a"
  5.    set "a=!a:a3-201003=A3-2010!"
  6.    copy "%%a" "%~dp0!a!"
  7. )
复制代码
1

评分人数

TOP

回复  蓝色火焰


    最开始没注意到文件名也改了,copy命令是不能直接这样做的,明天帮你写代码。
BAT-VBS 发表于 2013-4-16 22:45



    好的,那麻烦你了,太感谢了~

TOP

apang 发表于 2013-4-16 22:46



    高手啊,真是太厉害了~

TOP

回复 9# 蓝色火焰


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。

TOP

回复  蓝色火焰


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
BAT-VBS 发表于 2013-4-17 14:34



    已编辑并给答题人加分~

TOP

返回列表