我需要制作一个批处理程序,它将我告诉它的文件夹目的地中的所有文件复制到程序中,并列出文件夹中该文件夹中的所有文件,以便我正在构建的程序可以阅读文本文件。我有批处理程序已经将所有文件复制到我需要的文件夹中,剩下的就是让它生成文本文件。
这就是我现在所拥有的
@echo off
setlocal
set source=c:\My Folder
set dest=C:\Copied folder
pushd "%source%"
for /f "tokens=*" %%a in ('dir /b /a-d /s 2^>NUL') do copy "%%a" "%dest%
popd
出于隐私原因,我更改了源和目的地位置。 我只需要知道我需要在哪一行放置哪一行,告诉它读取它复制的所有文件并将它们放入文本文件中。
感谢高级!!
答案 0 :(得分:0)
这是一个例子。 list
变量存储复制文件列表的文件路径。
@echo off
setlocal
set source=c:\My Folder
set dest=C:\Copied folder
set list=c:\copied files.txt
pushd "%source%"
echo>nul 2>"%list%"
for /f "tokens=*" %%a in ('dir /b /a-d /s 2^>NUL') do (
echo %%~dpa%%~nxa >>"%list%"
copy "%%a" "%dest%"
)
popd
答案 1 :(得分:0)
只需添加...
DIR /b /a-d "%dest%" > copied_files.txt
...在原始剧本的末尾。
编辑:我对pushd
/ popd
命令感到有些困惑,我之前见过这些命令,但我从未使用过它们。现在阅读关于它的ss64,我建议你删除它们,然后将路径放入FOR
的{{1}}命令。所以它就像这样:
DIR