2013-01-18 64 views
0

我有一個批處理文件搜索PST文件,創建一個.txt文件與搜索到的文件的位置,然後在文件目錄中創建一個文件夾。 我想要做的是將PST文件複製到Documents dir中的新目錄。 問題是我不能讓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" 

回答

0

問題是你如何閱讀文本文件。您正在使用tokens=3這意味着您正在嘗試讀取每行中的第3項(默認情況下,項目由空格分隔),並且很有可能不是第3項,如果它們只是文件路徑。

您還試圖複製不存在的變量%i

可以使用tokens=*讀取整個行一項解決令牌的問題,但它會更容易和更快地只是這樣做

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

節省了需要的文件導出到列表然後再讀回來。

+0

太棒了!你修好了,並給了一個探索。 – user1986920

0

可能是文件被Outlook鎖定。嘗試在執行批處理之前停止Outlook。

+0

PST尚未導入到Outlook中。 – user1986920

相關問題