找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 83210|回复: 23

[文件操作] [已解决]批处理怎样复制文件到指定目录?

[复制链接]
发表于 2011-9-13 12:51:38 | 显示全部楼层 |阅读模式
G:\MARC\500本MARC数据  这个路径下有几百个 *.ISO 文件   要复制到D:\成品测试\*\meta 目录下
条件是当*=*时  复制
例如:
G:\MARC\500本MARC\09012345.ISO   复制到D:\成品测试\09012345\meta 目录下
因为09012345.ISO 和D:\成品测试\09012345\meta 中的 09012345相同
谢谢啦!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2011-9-13 12:54:23 | 显示全部楼层
本帖最后由 001011 于 2011-9-13 13:00 编辑

能自己判断吗
发表于 2011-9-13 12:57:39 | 显示全部楼层
  1. @echo off
  2. start cmd /c "copy G:\MARC\500本MARC数据\09019472.iso D:\成品测试\09019472\meta"
  3. start cmd /c "copy G:\MARC\501本MARC数据\09019490.iso D:\成品测试\09019490\meta"
复制代码

评分

参与人数 1技术 +1 收起 理由
001011 + 1 谢谢啦 能自动判断吗

查看全部评分

 楼主| 发表于 2011-9-13 13:03:11 | 显示全部楼层
谢谢楼上的  要是能自己判断就好了 每次要做列表也很慢
发表于 2011-9-13 15:36:57 | 显示全部楼层
本帖最后由 wangqi0077 于 2011-9-13 15:39 编辑

试下这个看看..不是很会

  1. for %%i in (*.iso) do echo %%i>>tmp.txt
  2. for /f "delims=."  %%j in (tmp.txt) do echo %%j >>tmp2.txt
  3. for /f %%m in (tmp2.txt) do copy %%m.iso D:\成品测试\%%m\meta\%%m.iso
  4. pause
复制代码
把所有ISO文件名写到TMP.TXT里面.然后把.ISO前面的文件名提取出来放到TMP2.TXT里面.然后再一行一行对比复制了..一行就是一个文件名...呵暂时只想到这些.新手.应该是可行的.

评分

参与人数 2PB +3 技术 +1 收起 理由
Hello123World + 3 乐于助人
001011 + 1 感谢 感谢

查看全部评分

 楼主| 发表于 2011-9-13 15:40:25 | 显示全部楼层
本帖最后由 001011 于 2011-9-13 15:43 编辑

谢谢您
文件名写到tmp.txt里面  但是从哪儿复制呢
脚本里面我没有看到G:\MARC\500本MARC数据   路径呀
发表于 2011-9-13 15:45:26 | 显示全部楼层
直接把这个批处理就丢到500里面好了.
免得写文件路径麻烦.
如果要复制过去的路径还没有创建的话.可以在倒数第二行加上这个.
for /f %%n in (tmp2.txt) do md D:\成品测试\%%n\meta
发表于 2011-9-13 15:45:44 | 显示全部楼层
创建完了再复制...也行..我试的就只是几个文件来试的..
 楼主| 发表于 2011-9-13 15:57:37 | 显示全部楼层
非常OK  谢谢啦  真棒
发表于 2011-9-13 18:43:45 | 显示全部楼层
回复 5# wangqi0077


没必要用临时文件
  1. @echo off
  2. for %%a in ("G:\MARC\500本MARC数据\*.iso") do (
  3.     start cmd /c "copy %%a D:\成品测试\09019472\meta"
  4. )
复制代码
 楼主| 发表于 2011-9-13 20:19:21 | 显示全部楼层
回复 10# awk
这个不行呀  怎么把500里面的全部复制到一个文件夹里面去了
 楼主| 发表于 2011-9-13 20:19:49 | 显示全部楼层
回复  wangqi0077


没必要用临时文件
awk 发表于 2011-9-13 18:43



    这个不行呀  怎么把500里面的全部复制到一个文件夹里面去了
发表于 2011-9-13 20:27:23 | 显示全部楼层
回复 11# 001011
  1. @echo off
  2. for %%a in ("G:\MARC\500本MARC数据\*.iso") do (
  3.     start cmd /c "copy %%a D:\成品测试\%%~na\meta"
  4. )
复制代码

评分

参与人数 1技术 +1 收起 理由
001011 + 1 非常感谢

查看全部评分

 楼主| 发表于 2011-9-13 21:09:58 | 显示全部楼层
回复  001011
awk 发表于 2011-9-13 20:27



    谢谢啦  这样方便多了  可惜今天不能加分了  明天吧
发表于 2011-9-14 10:38:22 | 显示全部楼层
这个也可以吧!
  1. set i=G:\MARC\500本MARC数据\*.iso
  2. copy %i% D:\成品测试\%~ni%\meta
  3. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 07:21 , Processed in 0.032206 second(s), 15 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表