2014-11-04 114 views
0

我研究了類似題目的問題,但它們看起來並不是我所需要的。此外,在我第一天,我找到了一篇文章(我很抱歉,現在找不到它,即使我將它加入書籤,書籤也只是帶我到這個論壇的主頁),這非常類似到我正在尋找,但不成功(不是批處理文件足夠精明),以修改它爲我的目的。根據匹配的文件名將多個pdf文件移動到多個文件夾

我所擁有的是一個包含幾千個pdf文件的目錄。

他們被命名爲這樣的東西。

12345.pdf,
12345.pdf,
12347.pdf,
(等)。

在源目錄幾千相應的文件夾,其命名是這樣的:

12345_eventnumber_eventprovider,
12346_eventnumber_eventprovider,
12347_eventnumber_REF ALT#_eventprovider,
(依此類推)。

我想要做的就是讓所有的pdf神奇地根據它們的文件名去它們相關的文件夾。 pdf的整個文件名,第一組數字直到文件夾的第一個下劃線。

無論如何,在修改了其他海報的文件後,這裏就是我最終得到的結果(使用我有限的批處理文件技能)。

@Echo off 
cd /d "c:\My source Directory" 
setlocal enabledelayedexpansion 
for %%a in (*_*.*) do (
for /f "delims=_" %%b in ("%%a") do (
set "f=%%b" 
    if /i "%%~xa"==".pdf" (
    md "c:\My source directory" 2>nul 
    move "%%a" "C:\My destination directory!f:~0,-1!" >nul 
    ) 

它理解我的源代碼目錄,至少根據結果。但它是一個失敗,因爲它所做的只是在我的源代碼目錄中創建新文件夾(而不是全部)。所以我希望有人能夠幫助我解決它並讓它做我想做的事情?

如果這取決於我,我們不會通過將它們分別放在自己的小文件夾中來跟蹤文件序列,而是將它們列入數據庫或其他類似文件中(是​​的,老闆希望每個文件都有自己的文件小文件夾,這樣他就可以在MS窗口中查看是否有任何數字丟失,主有憐憫)。

但這不取決於我。此外,雖然似乎有一些非常方便的小共享軟件或甚至便宜的軟件,但我們的網絡幾乎不允許外部應用程序。至少不是沒有國會行動(幾乎是字面上的)。

但是我非常希望看到批處理文件似乎正在朝着我想要的方向前進,所以如果有人能夠幫助我理順並幫助我獲得正確的語言,請提前致謝。

在此先感謝!

回答

1
@echo off 
setlocal enableextensions disabledelayedexpansion 
for %%a in (*.pdf) do for /d %%d in ("%%~na_*") do move "%%a" "%%d\%%a" >nul 2>&1 

對於每一個PDF文件,查找與該PDF加上下劃線的名稱開頭的文件夾和文件移動到編輯文件夾

再次適應評論

@echo off 
setlocal enableextensions disabledelayedexpansion 

set "sourcePDFs=C:\Users\lwilso01\Desktop\Test1" 
set "targetFolders=c:\users\lwilson\desktop\test2" 

for %%a in ("%sourcePDFs%\*.pdf") do (
    for /d %%d in ("%targetFolders%\%%~na_*") do (
     move "%%~fa" "%%~fd\%%~nxa" >nul 2>&1 
    ) 
    if exist "%%~fa" (
     md "%targetFolders%\%%~na_" 
     move "%%~fa" "%targetFolders%\%%~nxa_" 
    ) 
) 
+0

謝謝@MC ND 但是我仍然在做錯的事情,但是(根據我的第一篇文章,我是相當新的)。我在哪裏插入文件和文件夾路徑?在兩個括號內?另外,我是否完全用上面的語言替換了以前的語言?或者我將它插入某處? (我嘗試了幾種不同的方式,似乎沒有任何工作)。謝謝! – LWilson 2014-11-04 18:45:42

+0

@LWilson,查看更新後的答案。在這兩種情況下,這都是你在問題中指出的。我錯過了什麼? – 2014-11-04 19:05:18

+0

不,我確定它的工作原理,如果我明白如何正確地修改它(把我的文件夾名稱等)。我認爲更多的是我不瞭解這個過程,並且我做錯了什麼。 難道路途太長?上述兩組指令似乎只設置了pdf文件所在文件夾的路徑,沒有一個文件移動到與其關聯的文件夾。 – LWilson 2014-11-04 19:40:21

相關問題