0

PST ファイルを検索し、検索されたファイルの場所を含む.txtファイルを作成し、Documents ディレクトリにフォルダーを作成するバッチ ファイルがあります。私がしたいことは、PST ファイルを Documents ディレクトリの新しいディレクトリにコピーすることです。問題は、PST を新しいディレクトリにコピーできないことですか?? 私は何が間違っているのですか?

.batは次のようになります。

dir C:\*.pst /s /b > %USERPROFILE%\Desktop\pstFileLocation.txt
md %USERPROFILE%\Documents\Refresh_PST
for /F "tokens=3" %%v in ('pstFileLocation.txt') do copy "%i" "%USERPROFILE%\Documents\Refresh_PST"
4

2 に答える 2

0

問題は、テキスト ファイルをどのように読み取るかです。tokens=3各行の 3 番目のアイテムを読み取ろうとしているという意味を使用しています (デフォルトでは、アイテムはスペースで区切られています)。ファイル パスだけの場合、3 番目のアイテムは存在しない可能性が高くなります。

%iまた、存在しない変数をコピーしようとしています。

tokens=*行全体を 1 つの項目として読み取ることを使用してトークンの問題を修正できますが、これを行う方が簡単で迅速です。

md "%USERPROFILE%\Documents\Refresh_PST"
for /r C:\ %%a in (*.pst) do copy "%%a" "%USERPROFILE%\Documents\Refresh_PST"

これにより、ファイルをリストにエクスポートしてから読み戻す必要がなくなります。

于 2013-01-18T10:23:44.997 に答える
0

ファイルが Outlook によってロックされている可能性があります。バッチを実行する前に Outlook を停止してみてください。

于 2013-01-18T09:30:37.773 に答える