iT邦幫忙

0

移動多個檔案到相對應資料夾

我想要將一個資料夾內多個檔案分別移到相對應的資料夾

有一個資料夾叫 D:\pdf下載 裡面有許多pdf檔
要依據檔名的第6到第9個字 分配到別的資料夾

另一個資料夾為 D:\pdf 但是在pdf的下一層還有一個分類才會到達依據檔名分類的那層

我舉個例子 我想將 D:\pdf下載\aaaa_1100_.txt 搬到 D:\pdf\M1\1100底下
因為有多個檔案所以我不知道要如何跳過那個 M1 (其他檔案可能是M2,M3)去做移動

/images/emoticon/emoticon02.gif我這樣應該怎麼去寫迴圈呢比較好呢拜託大家幫幫忙了

bogay iT邦新手 3 級 ‧ 2021-10-24 00:00:26 檢舉
那些 M1、M2 之類的也是透過 1100 (第 6 到 9 個字)去決定的嗎?
zong1220 iT邦新手 5 級 ‧ 2021-10-24 00:02:41 檢舉
不是 M1,M2的決定方式沒有特別規律的
yun1231 iT邦新手 3 級 ‧ 2021-10-24 10:03:21 檢舉
有圖片能夠參考嗎?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2021-10-24 11:07:08
最佳解答

用 glob 和 0001 取得「目錄名稱」

import glob

def getPath(fname):
	dirs = glob.glob('./*/'+fname+'/')
	if len(dirs) > 0:
		ret = dirs[0]
	else:
		ret = ""
	return ret

spath = getPath('1100')
if len(spath) > 0:
	print("Found:"+spath)
else:
	print("No such path")
zong1220 iT邦新手 5 級 ‧ 2021-10-24 12:33:46 檢舉

那如果我現在有一個檔案名稱的list
找出目錄名稱我該用甚麼方法去移動檔案呢

我要發表回答

立即登入回答