0

プログラムで指示したフォルダーの宛先からすべてのファイルをコピーし、そのフォルダーにあるすべてのファイルをテキストファイルにリストして、作成中のプログラムがテキストを読み取れるようにするバッチプログラムを作成する必要がありますファイル。すべてのファイルを必要なフォルダーに既にコピーするバッチ プログラムがあります。残っているのは、テキスト ファイルを作成することだけです。

これが私が今持っているものです

@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

プライバシー上の理由から、ソースと宛先の場所を変更しました。コピーしたすべてのファイルを読み取ってテキスト ファイルに格納するように指示する行に、何をどこに配置する必要があるかを知る必要があります。

ありがとうございます!

4

2 に答える 2

0

追加するだけ...

DIR /b /a-d "%dest%" > copied_files.txt

...元のスクリプトの最後に。

編集:pushd /popdコマンドに少し混乱しました。以前に見たことがありますが、使用したことはありません。それについてss64を読んで、それらを削除してパスをFOR'sDIRコマンドに入れることをお勧めします。したがって、次のようにまとめます。

@echo off
setlocal
set source=c:\My Folder
set dest=C:\Copied folder
for /f "tokens=*" %%a in ('dir /b /a-d /s "%source%" 2^>NUL') do copy "%%a" "%dest%
dir /b /a-d "%dest%" > copied_files.txt
于 2012-08-17T21:27:59.527 に答える
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
于 2012-08-17T19:57:35.413 に答える