【发布时间】:2017-02-08 04:32:31
【问题描述】:
我正在尝试创建一个批处理文件来循环遍历多个文本文件并复制文本文件中的文件。我现在已将查询设置为复制。当查询工作时,我想将其更改为移动。目前这个文件什么都不做。
@echo off
set Source=T:\_Epic\Data Conversion\ChartMaxx Docs\LOPE\More\
set Target=T:\_Epic\Data Conversion\MovedFiles\
echo.
if not exist "%Source%" echo Source folder "%Source%" not found & goto Exit
if not exist "%FileList%" echo File list "%FileList%" not found & goto Exit
if not exist "%Target%" md "%Target%"
for /f "delims=" %%a IN ('xcopy "T:\*" T:\ /l') do echo %%a
:Exit
echo.
echo press the Space Bar to close this window.
pause > nul
【问题讨论】:
-
当你坐在
"I am trying to create a batch file to loop through multiple text files and copy the files that are in text files."时,你的意思是你有一个包含每行文件名的文件列表,并且你想读取这些/那个文本文件列表的:“内容”,然后复制存在的文件文件列表中列出了哪些? -
是的,该项目是将一百万个文件移动到新目录中。这些文件将包含 50K 行。我有一个文件拆分器程序已经完成了那部分。所以现在我需要这个程序来完成剩下的工作。
-
每个新目录都应该有它来自的文件的名称。
-
我的意思是说...... “我认为“文件列表”是“具有文件名列表的文件”,但您只需要根据文件创建一个文件循环在某个文件夹中。”。否则,这只适用于该特定文件夹中的文件......
FOR %%A IN ("T:\_Epic\Data Conversion\FileList\*.*") DO (XCOPY /Y /F "%%~A" "%Target%")...如果您需要循环不同的文件夹,那么这就是需要更好地理解标准等的内容. 应用到适用的逻辑以获得预期的结果。
标签: windows batch-file for-loop cmd