Batch file 批处理文件如何读取文本文档并移动列出的目录?

Batch file 批处理文件如何读取文本文档并移动列出的目录?,batch-file,Batch File,我有一个目录列表存储在一个名为test_text.txt的文件中。我需要能够运行一个批处理文件,从文件中读取文本,并将文本文档中列出的目录移动到一个新目录。任何帮助都将不胜感激 我的代码: echo FOR /D %%I in (test_text.txt) do move C:\users\%username%\desktop\dumb PAUSE 您要查找的是以下内容(假设test_text.txt中有有效目录): 编辑:添加了错误处理/报告。请注意,>nul 2>&1位用于抑制mo

我有一个目录列表存储在一个名为test_text.txt的文件中。我需要能够运行一个批处理文件,从文件中读取文本,并将文本文档中列出的目录移动到一个新目录。任何帮助都将不胜感激

我的代码:

echo

FOR  /D %%I in (test_text.txt) do move C:\users\%username%\desktop\dumb

PAUSE

您要查找的是以下内容(假设test_text.txt中有有效目录):

编辑:添加了错误处理/报告。请注意,>nul 2>&1位用于抑制
move
的输出


编辑2:添加到日志文件的显式重定向。

您要查找的是以下内容(假设test_text.txt中有有效目录):

编辑:添加了错误处理/报告。请注意,>nul 2>&1位用于抑制
move
的输出


编辑2:添加了指向日志文件的显式重定向。

该代码工作正常!非常感谢。有没有一种方法可以将移动的结果输出到一个文本文件中,该文件的名称有没有移动?基本上是一个错误日志。是的,我已经更新了我的答案来反映这一点。您可以使用
movedirs>logfile.txt
(假设调用批处理文件
movedirs
…)运行批处理文件。代码正常,但输出仅显示Move successful。它不会单独列出已成功或未成功移动到文本文件的每个目录。有没有办法做到这一点?我的代码:对于/f%%i in(test_text.txt),如果错误级别1(echo%%i:move失败)或者(echo%%i:move successful)>>results.txtFixed,请移动%%i C:\users\%username%\desktop\dumb>nul 2>&1。更改第一行以设置日志文件的位置,然后在调用日志文件时不要使用
>logfile.txt
。顺便说一句,如果您发现此答案对您有帮助,请单击答案左侧的复选框将其标记为“已回答”。该代码工作正常!非常感谢。有没有一种方法可以将移动的结果输出到一个文本文件中,该文件的名称有没有移动?基本上是一个错误日志。是的,我已经更新了我的答案来反映这一点。您可以使用
movedirs>logfile.txt
(假设调用批处理文件
movedirs
…)运行批处理文件。代码正常,但输出仅显示Move successful。它不会单独列出已成功或未成功移动到文本文件的每个目录。有没有办法做到这一点?我的代码:对于/f%%i in(test_text.txt),如果错误级别1(echo%%i:move失败)或者(echo%%i:move successful)>>results.txtFixed,请移动%%i C:\users\%username%\desktop\dumb>nul 2>&1。更改第一行以设置日志文件的位置,然后在调用日志文件时不要使用
>logfile.txt
。顺便说一句,如果您发现此答案对您有帮助,请单击答案左侧的复选框将其标记为“已回答”。
SET LOGFILE=C:\logs\movelog.txt
REM Use /f to read the contents of a file, and %%i to reference the line you just read:
for /f %%i in (test_text.txt) do (
    move %%i C:\users\%username%\desktop\dumb >nul 2>&1
    if errorlevel 1 (
        echo %%i : Move failed >> %LOGFILE%%
    ) else (
        echo %%i : Move successful >> %LOGFILE%
    )
)