无忧启动论坛

标题: 批处理如何根据1.TXT文件列表复制文件到指定目录? [打印本页]

作者: 信长野望    时间: 2015-10-10 18:31
标题: 批处理如何根据1.TXT文件列表复制文件到指定目录?
本帖最后由 信长野望 于 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:\
复制代码

作者: slore    时间: 2015-10-10 19:17
@echo off
for /f "delims=" %%i in (filelist.txt) do (
    echo copy "%%i" D:\Dst\
)

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

自己for /?看下帮助吧。
作者: 阿弥陀佛    时间: 2015-10-10 19:19
  1. @echo off
  2. for /f "delims=" %%a in (1.txt) do (
  3.    xcopy "%%a" "指定目录\%%~pa" /s /y
  4. )
  5. pause
复制代码


按原来的目录结构复制。批处理我也不熟,小试了一下应该可以。
但这样的速度有点慢。用pecmd脚本快很多。
作者: nttwqz    时间: 2015-10-10 19:48
本帖最后由 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文件夹(包括其下面的系统隐藏文件)到目标路径下
作者: 信长野望    时间: 2015-10-10 20:26
本帖最后由 信长野望 于 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环境
变量少个%
作者: mdyblog    时间: 2015-10-10 20:32

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


作者: 信长野望    时间: 2015-10-10 20:34
for %%a in (s a d f) do xxx有点像魔兽JASS循环整数A做动作




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3