无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2924|回复: 6
打印 上一主题 下一主题

[求助] 批处理如何根据1.TXT文件列表复制文件到指定目录?

[复制链接]
跳转到指定楼层
1#
发表于 2015-10-10 18:31:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 信长野望 于 2015-10-11 00:56 编辑

1.TXT包括完整路径。
  1. 假设txt文件名为1.txt
  2. setlocal enabledelayedexpansion
  3. for /f %%i in (1.txt) do (copy "%%i" "c:\%%i")
  4. echo ok..
  5. pause
  6. 自己改路径c:\
复制代码

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 很给力!

查看全部评分

2#
发表于 2015-10-10 19:17:29 | 只看该作者
@echo off
for /f "delims=" %%i in (filelist.txt) do (
    echo copy "%%i" D:\Dst\
)

重名的情况,你的文件有目录结构没,之类的话,脚本还要另外变动。

自己for /?看下帮助吧。
回复

使用道具 举报

3#
发表于 2015-10-10 19:19:37 | 只看该作者
  1. @echo off
  2. for /f "delims=" %%a in (1.txt) do (
  3.    xcopy "%%a" "指定目录\%%~pa" /s /y
  4. )
  5. pause
复制代码


按原来的目录结构复制。批处理我也不熟,小试了一下应该可以。
但这样的速度有点慢。用pecmd脚本快很多。
回复

使用道具 举报

4#
发表于 2015-10-10 19:48:09 | 只看该作者
本帖最后由 nttwqz 于 2015-10-10 19:52 编辑
  1. @echo off
  2. pushd %~dp0\
  3. rem 请在paste=后面写上复制文件的目标路径,支持空格
  4. set paste=
  5. if not exist "%paste%" echo 目标路径设置错误!&&pause>nul&&exit
  6. for /f "delims= tokens=1*" %%a in (1.TXT) do xcopy "%%a%%b" "%paste%" /s /e /h /y
  7. pause
复制代码


1.TXT中的路径可以是文件夹,比如E:\abcd\123,这将会复制123文件夹(包括其下面的系统隐藏文件)到目标路径下
回复

使用道具 举报

5#
 楼主| 发表于 2015-10-10 20:26:00 | 只看该作者
本帖最后由 信长野望 于 2015-10-11 22:57 编辑
  1. for /f "delims=\ tokens=4" %i in (E:\我的文档\test.txt) do echo %i>>f:\11.txt

  2. for /f "delims=*" %i in (E:\w8\Windows\System32\11.TXT) copy /-y "E:\w8\Windows\System32\%i" F:\81pex64\mount\Windows\System32
复制代码


我是把包括目录的文件列表删除到只剩下文件名了

这不是批处理环境
这是CMD环境
变量少个%
回复

使用道具 举报

6#
发表于 2015-10-10 20:32:31 | 只看该作者

假定一行一个文件名。
PECMD脚本:
  1. READ 1.TXT,**,&&FS
  2. FORX *NL &FS,&&Fi, FILE %&Fi%=>D:\Dst\
复制代码

回复

使用道具 举报

7#
 楼主| 发表于 2015-10-10 20:34:31 | 只看该作者
for %%a in (s a d f) do xxx有点像魔兽JASS循环整数A做动作
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-29 09:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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