2013-10-14 165 views
0

我需要重命名很多文件。重命名很多文件

我有一個包含270個PDF文件1個zip文件,這些有壞的名字,像{4E92C2C7-0A9B-4F77-99CC-D1F03B871564} .PDF 我也有一個索引PDF文件有兩個colums,1文件的名稱,其他有一個簡短的描述。

實施例: Airol1升(Airol)(Sikkerhetsdatablad)= {4E92C2C7-0A9B-4F77-99CC-D1F03B871564} .PDF

是否有可能寫一個程序看起來在第2列,並且如果文件是發現,將其重命名爲列1中的名稱。

+0

是的,這是可能的。你有什麼嘗試? – jeb

+0

現在我一直在手動做這個,但是我看到很多這些zip文件將來會出現。我剛開始研究這個問題。你會如何解決這個問題? :) –

+0

從常見問題解答:「詢問代碼的問題必須證明對所解決問題的最小理解。包括嘗試解決方案,爲什麼他們沒有工作,以及預期的結果。[問] – jeb

回答

0

我會用像Python這樣的腳本語言編寫一個程序,通過索引文件尋找鍵/值對。如果值是特定格式(如前五個字符是數字和/或字母),則使用該值搜索原始文件並將其重命名爲該鍵。

對於您給的例子: Airol1升(Airol)(Sikkerhetsdatablad)= {4E92C2C7-0A9B-4F77-99CC-D1F03B871564} .PDF

一個簡單的僞代碼將是:

文件
For each line in index file: 
     split the line into KEY & VALUE (split on the '=' sign) 
     If first 5 characters of VALUE are all numbers and/or characters: 
      search for the file named VALUE 
      rename the file named VALUE to KEY 
     End If 
+0

謝謝,兩列之間沒有=號。我不知道如何使用python。但是我找到了另一個解我只是將pdf轉換爲excel。使用= CONCATENATE命令創建一個函數。我把價值新的名字放在A1 - 舊名B1。在D1和.pdf中添加了「符號到E1。使用這個代碼=(」ren「;; D1; B1; D1;」「; D1; A1; E1; D1)複製到一切,我結束了仁」舊名「」newname.pdf「,將此結果複製到記事本並保存爲蝙蝠,工作得很好。 –

0

提取列表LIST.TXT,然後

for %f in ({*.pdf) do (
    for /f "delims== tokens=1,2" %g in ('type list.txt ^| find "%f" ') do (
     if not "%g"=="" ren "%f" "%g.pdf" 
    ) 
) 

或只是在一行

for %f in ({*.pdf) do for /f "delims== tokens=1,2" %g in ('type list.txt ^| find "%f" ') do if not "%g"=="" ren "%f" "%g.pdf" 
0

測試下面的命令行腳本:

FOR /F "DELIMS== TOKENS=1,*" %i IN (index_file) DO ECHO REN "%j" "%i.pdf" 

如果結果縫即可,撈出ECHO並重新運行。