我想交換FolderX中一個檔案的數百個檔案名位置。
檔案名都是以這種方式創建的:pos1.pos2.pos3.pos4.pos5.pos6.pdf 例子。(GK.19.kkla.0715.nr.36053342.zg.119.pdf)
我想交換一些位置,使其變為:pos4.pos2.pos5.pos6.pos3.pos1.pdf
作為一個例子,一個命令如;交換pos3->pos6或pos1->pos4
我在Automator中尋找,但它只能在檔案名之前或之后添加,但沒有位置交換。
也許是AppleScript?謝謝你的意見。
uj5u.com熱心網友回復:
SO不是一個寫代碼的服務;這就是說:你可以使用AppleScript(用Finder/System Events的腳本來遍歷檔案和文本項定界符來分割每個檔案名),或者你可以用shell腳本來做,它的好處是更快:
#!/bin/sh
for f in /path/to/input/folder/*; do
n=`basename "$f" | awk -F '.' '{ print 4". "2". "5". "6". "3". "1".pdf" }'`.
mv "$f" "/path/to/output/folder/$n"
完成
uj5u.com熱心網友回復:
下面的解決方案使用AppleScript的文本項定界符和系統事件。它的速度相當快,而且當檔案夾中的某些檔案的檔案名與所需的模式不匹配時,它的優點是可以避免拋出錯誤。此外,它還適用于檔案夾的pdf檔案。
set folderHFS to (choose folder) as text
設定{ATID,AppleScript的文本專案定界符}為{AppleScript的文本專案定界符,"."}。
告訴應用程式 "系統事件"
重復aFile(獲取檔案夾folderHFS中擴展名為 "pdf "的檔案)。
嘗試
將{pos1, pos2, pos3, pos4, pos5, pos6, ext}設定為(獲取aFile的名稱)的文本項
將aFile的名稱設為{pos4, pos2, pos5, pos6, pos3, pos1, ext},作為文本。
結束嘗試
結束重復
結束告訴
將AppleScript的文本專案定界符設為ATID
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/308860.html
標籤:
上一篇:如何在一個函式中選擇演算法
