簡體   English   中英

AutoIT-如何運行Shell腳本

[英]AutoIT - How to run shell script

我設法在applescript中的shell腳本代碼下運行,並且正確生成了outpur。
Shell腳本。

do shell script "mdls 'UAT.pdf' | grep 'kMDItemPageWidth\\|kMDItemPageHeight' | awk '/ = / {for (i = 3; i <= NF; i++) printf \"%s \", $i/72; printf \"\\n\";}'"

該腳本基本上可以讀取PDF文檔的屬性。

我如何在AutoIT中運行它。 高度贊賞任何參考或建議。

現在我們到了某個地方! @ chinna_82,這是我的建議。 意思是,這就是我要做的方式(我已經將幾個腳本移植到了AutoIt並使用AutoIt構建了一個安裝程序。這非常棒):

1)此命令最不便於移植的部分是mdls命令,該命令僅適用於unix / OSX,沒有Windows版本,但可能有Windows替代版本。 進一步了解...。

2)所有grep和awk所做的都是解析mdls返回的輸出。 這可以通過多種方式完成,包括僅在AutoIt中進行編碼。 是的,如果我這樣做,我可以找到Windows版本或grep和awk的替代版本(例如Windows grep和gawk),但是它們做的相對簡單,我可能只是在AutoIt中這樣做(用於學習AutoIt的語言) ,請參見http://www.autoitscript.com/autoit3/docs/ )。 找到確切的Windows版本的grep和awk可能不值得-只需使用AutoIt自己的語言即可。

無論如何,mdls會獲取所有pdf的元數據。 它是這樣的文本:

kMDItemAuthors                 = (
    "Flint, Herbert L. (Herbert Longley), b. 1862"
)
kMDItemContentCreationDate     = 2013-10-16 16:07:51 -0700
kMDItemContentModificationDate = 2013-10-16 16:07:52 -0700
kMDItemContentType             = "com.adobe.pdf"
kMDItemContentTypeTree         = (
    "com.adobe.pdf",
    "public.data",
    "public.item",
    "public.composite-content",
    "public.content"
)
kMDItemCreator                 = "Digitized by the Internet Archive"
kMDItemDisplayName             = "practicalinstruc00flin.pdf"
kMDItemEncodingApplications    = (
    "Recoded by LuraDocument PDF v2.53"
)
kMDItemFSContentChangeDate     = 2013-10-16 16:07:52 -0700
kMDItemFSCreationDate          = 2013-10-16 16:07:51 -0700
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "practicalinstruc00flin.pdf"
kMDItemFSNodeCount             = 0
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 12668272
kMDItemFSTypeCode              = ""
kMDItemKeywords                = (
    "http://archive.org/details/practicalinstruc00flin"
)
kMDItemKind                    = "PDF"
kMDItemLastUsedDate            = 2013-10-30 20:00:54 -0700
kMDItemNumberOfPages           = 210
kMDItemPageHeight              = 532
kMDItemPageWidth               = 370
kMDItemSecurityMethod          = "None"
kMDItemTitle                   = "Practical instruction in hypnotism and suggestion"
kMDItemUsedDates               = (
    "2013-10-16 00:00:00 -0700",
    "2013-10-17 00:00:00 -0700",
    "2013-10-30 00:00:00 -0700"
)
kMDItemVersion                 = "1.5"

在OSX / Unix代碼中,使用grep返回包含高度和寬度的行; awk正在進一步格式化並輸出該輸出的行。 所有這些都可以在AppleScript或AutoIt中完成-您實際上並不需要grep和awk。 您只需要使用AutoIt的字符串函數,例如http://www.autoitscript.com/autoit3/docs/functions/StringSplit.htm

那么,如何返回初始元數據? 也許這行得通(可能還有其他功能,但我現在需要趕時間): http : //www.pdflabs.com/tools/pdftk-server/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM