iT邦幫忙

0

使用excel搬移檔案

我有5000筆的pdf檔案存在同一資料夾內,
而有一個excel檔已經為這5000筆檔案建好各自檔案路徑。
想請問要怎麼利用已建好路徑的excel表來搬移檔案?謝謝

或是有軟體還是方法可以一次貼上檔名和路徑來搬移?

移動檔案的語法 是 move檔名 目錄名
那要利用 EXCEL 作就是把欄位資料弄成上面這樣的格式
然後轉存成文字檔,在把附檔名改成 bat 接著執行就好
evio0502 iT邦新手 3 級 ‧ 2018-03-29 15:19:42 檢舉
剛想發言就被窮嘶發發發大大搶先了~
哈~補上語法簡述,把EXCEL檔欄位複製兩組~然後用記事本開啟~
(也可以提前補上語法再透過EXCEL文字合併方式)
再把內容改成MOVE語法,最後存為BAT去執行
MOVE X:\A檔案 Y:\A檔案
MOVE X:\B檔案 Y:\B檔案(X-->來源;Y-->目的地)
...依此類推!
至於MOVE 的BAT檔製作,請参閱google大神~有很多範例的
pcw iT邦研究生 5 級 ‧ 2018-03-29 21:34:48 檢舉
想用Excel VBA嗎?
這5000筆路徑,是只有路徑?還是路徑加檔案名稱?
這5000筆路徑,沿路的資料夾是否都已經建立?

2 個回答

0
runan5678
iT邦新手 2 級 ‧ 2018-03-29 17:23:04

Excel轉CSV後,用windows powershell完成
我應該會用到Import-csv, move-item 這兩個command處理
然後用Test-path檢查是否移動完成

0
pcw
iT邦研究生 5 級 ‧ 2018-03-30 12:53:04

EXCEL VBA的FileCopy陳述式

如果你的EXCEL中,
A欄位是檔案的原始路徑與檔名,例如:C:\oldPath\c.pdf
B欄位是檔案的路徑與檔名,例如:D:\newPath\d.pdf

則基本如下:

Sub CopyFileto()
    Dim rng AS Range, oldFilename as String, newFilename as String

    For Each rng in Range("A2:A5001")
        oldFilename = rng.value  ' 檔案的原始路徑與檔名
        newFilename = rng.offset(,1).value  ' 檔案的新路徑與檔名
        FileCopy oldFilename, newFilename
    Next rng
end sub

我要發表回答

立即登入回答