怎么引導(dǎo)做淘寶的客戶做官方網(wǎng)站唐山seo排名優(yōu)化
目錄
- 任務(wù)介紹:
- 重命名規(guī)則
- 修改前
- 修改后
- 實(shí)現(xiàn)思路
- VB代碼實(shí)現(xiàn)
- BUG犯罪現(xiàn)場(chǎng)(眼見不一定為實(shí))
- 破案1:抓頂風(fēng)作案的反賊!!!
- 破案2:破隱身抓刺客!!!
- 殺器:新建文件夾全部打印文件名對(duì)比文件名區(qū)別
- Thumb.db是什么?
- 如何刪除Thumbs.db 文件
- 如何禁止Thumbs.db 文件
任務(wù)介紹:
批量把多個(gè)文件夾的圖片重名命名為對(duì)應(yīng)表格的L列數(shù)據(jù);
重命名規(guī)則
修改前
修改后
實(shí)現(xiàn)思路
遍歷工作表
填充字典:字典記錄 鍵值對(duì)信息: key-舊名稱 value-新名稱 (分別對(duì)應(yīng)每個(gè)表個(gè)A列和L列)
遍歷父文件夾下的子文件夾:
匹配工作表名和子文件夾名
檢查文件數(shù)量匹配
處理文件名和重命名
-
設(shè)置變量和文件夾路徑:
- 在代碼中首先聲明了各種變量,如文件夾路徑、工作簿、工作表、行數(shù)、舊文件名、新文件名等。
- 給
folderPath
變量賦值為包含要處理文件的文件夾路徑。
-
創(chuàng)建文件系統(tǒng)對(duì)象:
- 使用
CreateObject("Scripting.FileSystemObject")
創(chuàng)建了文件系統(tǒng)對(duì)象 (fso
),用于操作文件和文件夾。
- 使用
-
遍歷工作簿中的每個(gè)工作表:
For Each ws In wb.Worksheets
循環(huán)遍歷工作簿中的每個(gè)工作表。
-
填充字典:
- 對(duì)于當(dāng)前工作表,通過
For
循環(huán),提取指定列的數(shù)據(jù),并存儲(chǔ)到一個(gè)字典dictSheet
中。其中,鍵是文件名,值是對(duì)應(yīng)的新文件名。
- 對(duì)于當(dāng)前工作表,通過
-
遍歷父文件夾下的子文件夾:
For Each subFolder In folder.SubFolders
遍歷父文件夾下的所有子文件夾。
-
匹配工作表名和子文件夾名:
If subFolder.Name = ws.Name Then
確保子文件夾的名稱與當(dāng)前工作表名匹配。
-
檢查文件數(shù)量匹配:
- 檢查當(dāng)前子文件夾內(nèi)的文件數(shù)量是否與當(dāng)前工作表中特定數(shù)據(jù)行數(shù)量匹配。
-
處理文件名和重命名:
- 遍歷當(dāng)前子文件夾下的所有文件,對(duì)每個(gè)文件的文件名進(jìn)行處理。
- 檢查文件名是否存在于字典中,如果存在則重命名文件,將文件名更改為字典中對(duì)應(yīng)的值。
-
重命名文件:
- 使用文件系統(tǒng)對(duì)象的
Name
方法來重命名文件,將舊文件名改為新文件名。
- 使用文件系統(tǒng)對(duì)象的
-
輸出信息或調(diào)試消息:
- 使用
Debug.Print
輸出信息,比如某個(gè)工作表文件數(shù)量不匹配的情況。
- 使用
這段代碼的主要邏輯是根據(jù)工作表中的數(shù)據(jù),匹配文件名并進(jìn)行重命名。通過循環(huán)遍歷每個(gè)工作表以及文件夾中的文件,它自動(dòng)將文件名更改為給定的值。
VB代碼實(shí)現(xiàn)
Sub RenameImages()Dim folderPath As StringDim wb As WorkbookDim ws As WorksheetDim cureetSheetlastRow As LongDim i As LongDim oldName As String, newName As StringDim dictSheet As ObjectDim keyCell As Range, valueCell As RangeDim fso As ObjectDim folder As ObjectDim subFolder As ObjectDim file As ObjectDim fileCount As IntegerDim key As VariantDim value As Variant' 設(shè)置文件夾路徑folderPath = "C:\Users\Administrator\Desktop\Plasma 變色標(biāo)簽" ' 修改為您的父文件夾路徑Set fso = CreateObject("Scripting.FileSystemObject")Set wb = ThisWorkbookFor Each ws In wb.WorksheetscureetSheetlastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).RowSet dictSheet = CreateObject("Scripting.Dictionary")' 填充字典For i = 5 To cureetSheetlastRowSet keyCell = ws.Cells(i, "A")Set valueCell = ws.Cells(i, "L")dictSheet(Trim(keyCell.value)) = Trim(valueCell.value)Next i'For Each key In dictSheet.Keys'Debug.Print "Key: " & key & ", Value: " & dictSheet(key)'Next key' 遍歷父文件夾下所有子文件夾Set folder = fso.GetFolder(folderPath)For Each subFolder In folder.SubFolders' 判斷子文件夾名稱是否為當(dāng)前工作表名稱'If subFolder.Name = "3.28" Then''Debug.Print subFolder.Files.Count'For Each file In subFolder.Files'Debug.Print file.Path'Next file'End IfIf subFolder.Name = ws.Name Then' 獲取子文件夾內(nèi)文件數(shù)量fileCount = subFolder.Files.Count - 1'判斷子文件文件數(shù)量是否等于currentSheetLast-4If fileCount = (cureetSheetlastRow - 4) Then' 遍歷當(dāng)前子文件夾下所有文件For Each file In subFolder.FilesoldName = file.PathDim fileName As StringfileName = fso.GetBaseName(file.Path) ' 獲取文件名'Debug.Print "正在處理文件: " & fileName'If dictSheet.Exists("1") Then'MsgBox "存在1"'Else'MsgBox "不存在1"'End If' 檢查文件名是否在字典中,并重命名文件If dictSheet.Exists(fileName) ThennewName = dictSheet(fileName) & ".png" ' 新的文件名為對(duì)應(yīng)字典值' 使用文件系統(tǒng)對(duì)象的 Name 方法來重命名文件fso.GetFile(oldName).Name = dictSheet(fileName) & ".png"End IfNext fileElseDebug.Print ws.Name & " 文件數(shù)量:" & fileCount & " " & "表格數(shù)量" & cureetSheetlastRow - 4End IfEnd IfNext subFolderNext ws
End Sub
BUG犯罪現(xiàn)場(chǎng)(眼見不一定為實(shí))
代碼中的防呆設(shè)計(jì):
子文件夾的文件數(shù)量要和Excel對(duì)應(yīng)表格A列序號(hào)數(shù)量一致。
打印文件夾數(shù)量每次都比Excel的序號(hào)數(shù)量多一個(gè)或者二個(gè)!!!特別奇怪!!!!
破案1:抓頂風(fēng)作案的反賊!!!
圖片為中圖標(biāo)查看的時(shí)候我沒發(fā)現(xiàn)這個(gè)刺客!!!
查看設(shè)置為列表!! 發(fā)現(xiàn)了不一樣!!!
破案2:破隱身抓刺客!!!
你以為查看設(shè)置了顯示隱藏文件夾就穩(wěn)了???
不行滴,年輕人!!!
判斷文件圖片數(shù)量和表格A列序號(hào)的數(shù)量(A5到最后一行),總是文件的數(shù)量總是顯示多一個(gè),全部打印出來發(fā)現(xiàn)是Thumb.db ,就算在查看中設(shè)置把文件隱藏打開還是看不到這個(gè)文件,但是打印文件夾文件名稱會(huì)打印!!!
殺器:新建文件夾全部打印文件名對(duì)比文件名區(qū)別
新建一個(gè)文件夾復(fù)制3.28文件夾所有圖片到新文件夾test,打印兩個(gè)文件夾目錄下的文件名,全部復(fù)制到Excel中對(duì)比,發(fā)現(xiàn)原文件夾多了Thumbs.db!!!
Thumb.db是什么?
Thumbs.db
是Windows操作系統(tǒng)下的一個(gè)系統(tǒng)隱藏文件,用于存儲(chǔ)縮略圖和預(yù)覽圖像的緩存信息。這個(gè)文件通常會(huì)在文件夾中出現(xiàn),當(dāng)操作系統(tǒng)需要顯示文件夾中的縮略圖或預(yù)覽圖時(shí),會(huì)自動(dòng)生成這個(gè)Thumbs.db
文件來加快圖像顯示的速度。
下面是關(guān)于Thumbs.db
文件的一些特點(diǎn)和信息:
-
緩存信息:
Thumbs.db
文件會(huì)存儲(chǔ)與文件夾中的圖片文件相關(guān)的縮略圖信息,這些縮略圖可以幫助操作系統(tǒng)快速顯示文件夾中的預(yù)覽圖像,而不必重新生成縮略圖。 -
隱藏文件:
Thumbs.db
文件通常是一個(gè)系統(tǒng)隱藏文件,在常規(guī)情況下,用戶是看不到這個(gè)文件的,除非在Windows文件夾選項(xiàng)中選擇顯示隱藏文件和文件擴(kuò)展名。 -
占用磁盤空間:雖然
Thumbs.db
文件有助于加快圖像預(yù)覽的顯示速度,但有時(shí)會(huì)被用戶視為占用磁盤空間的不必要文件。 -
刪除注意:在某些情況下,用戶可能選擇手動(dòng)刪除
Thumbs.db
文件,但系統(tǒng)會(huì)在需要時(shí)重新生成這些文件??梢酝ㄟ^更改Windows文件夾選項(xiàng)來禁用系統(tǒng)生成Thumbs.db
文件,但這可能會(huì)影響文件夾中的縮略圖顯示速度。
總的來說,Thumbs.db
文件是Windows系統(tǒng)用來緩存文件夾中縮略圖信息的隱藏文件,有助于提高文件夾圖像顯示的效率。
如何刪除Thumbs.db 文件
1 當(dāng)前目錄下使用進(jìn)入cmd 運(yùn)行程序
del /f /s /q /a thumbs.db
2 遍歷文件夾文件刪除,所以在獲取需要處理的文件實(shí)際數(shù)量時(shí),可以先把文件名稱打印出來查看是否存在Thumbs.db文件,存在則刪除,刪除后計(jì)數(shù)才比較準(zhǔn)確
如何禁止Thumbs.db 文件
Win10系統(tǒng)禁止生成Thumbs.db縮略圖緩存的方法
https://www.cnblogs.com/Music/p/hide-win10-thumbs-dot-db.html