VMware Fusion

VMware Workstation 最新版ダウンローダー (ダウンロードするのはWINDOW用のファイルです)

【注意】このページのスクリプトは
WINDOWS用のソフトをダウンロードするためのスクリプトです
MacOS版のVMware Fusionのダウンロードスクリプトはこちら
VMware Fusion 最新版ダウンローダー (URL追加 ARM版 とインテル版で選べるようにした)

AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003(*
004com.cocolog-nifty.quicktimer.icefloe
005VMware Workstation最新版をダウンロード
006VMware WorkstationはWindows用のアプリケーションです
007MacOSでは、そのままでは起動出来ません
008*)
009----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
010use AppleScript version "2.8"
011use framework "Foundation"
012use framework "AppKit"
013use scripting additions
014property refMe : a reference to current application
015
016### 【1】XMLのURL
017#サイトURL
018set strSiteURL to ("https://softwareupdate.vmware.com/cds/vmw-desktop/") as text
019set ocidSiteURL to refMe's NSURL's alloc()'s initWithString:(strSiteURL)
020#XMLのURL
021#設定項目
022#インテル用
023set strURL to ("https://softwareupdate.vmware.com/cds/vmw-desktop/ws-windows.xml") as text
024
025
026#NSURLにして
027set ocidURL to refMe's NSURL's alloc()'s initWithString:(strURL)
028### 【2】XML読み込み
029set ocidOption to (refMe's NSXMLDocumentTidyXML)
030set listResponse to refMe's NSXMLDocument's alloc()'s initWithContentsOfURL:(ocidURL) options:(ocidOption) |error| :(reference)
031if (item 2 of listResponse) = (missing value) then
032  set ocidReadXMLDoc to (item 1 of listResponse)
033else if (item 2 of listResponse) ≠ (missing value) then
034  set strErrorNO to (item 2 of listResponse)'s code() as text
035  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
036  refMe's NSLog("■:" & strErrorNO & strErrorMes)
037  log "エラーしました" & strErrorNO & strErrorMes
038  set ocidReadXMLDoc to (item 1 of listResponse)
039end if
040#格納用のARRAY
041set ocidXMLURLArrayM to refMe's NSMutableArray's alloc()'s initWithCapacity:(0)
042###【3】XMLから必要なデータを取得
043#【3-1】:ROOT
044set ocidRootElement to ocidReadXMLDoc's rootElement()
045#【3-2】:metadata
046##metadataを要素として取得してから処理する
047set ocidElementArray to ocidRootElement's elementsForName:("metadata")
048repeat with itemElement in ocidElementArray
049  set ocidUrlPath to (itemElement's elementsForName:("url"))'s firstObject()
050  set ocidSitePath to ocidUrlPath's stringValue()
051  set ocidItemURL to (ocidSiteURL's URLByAppendingPathComponent:(ocidSitePath) isDirectory:(false))
052  set ocidItemURLstring to ocidItemURL's absoluteString() as text
053  (ocidXMLURLArrayM's addObject:(ocidItemURLstring))
054end repeat
055#####
056#取り出したURLのARRAYを
057#coreとpackagesで分割する
058set appPredicateForCore to refMe's NSPredicate's predicateWithFormat_("SELF CONTAINS %@", "core")
059set appPredicateForPackages to refMe's NSPredicate's predicateWithFormat_("SELF CONTAINS %@", "packages")
060#
061set ocidSubarrayCore to ocidXMLURLArrayM's filteredArrayUsingPredicate:(appPredicateForCore)
062set ocidSubarrayPackages to ocidXMLURLArrayM's filteredArrayUsingPredicate:(appPredicateForPackages)
063##Arrayをソート
064set ocidSortedSubarrayCore to ocidSubarrayCore's sortedArrayUsingSelector:("localizedStandardCompare:")
065set ocidSortedSubarrayPackages to ocidSubarrayPackages's sortedArrayUsingSelector:("localizedStandardCompare:")
066#バージョン数のもっとも大きい数字が最新だから
067set ocidCoreFileString to ocidSortedSubarrayCore's lastObject()
068log ocidCoreFileString's |path| as text
069#
070set ocidPackagesFileString to ocidSortedSubarrayPackages's lastObject()
071log ocidPackagesFileString's |path| as text
072#最新版のXMLのURL
073set ocidCoreFileURL to refMe's NSURL's alloc()'s initWithString:(ocidCoreFileString)
074set ocidPackagesFileURL to refMe's NSURL's alloc()'s initWithString:(ocidPackagesFileString)
075
076################################
077#XMLのファイル名   Packages
078set ocidFileName to ocidPackagesFileURL's lastPathComponent()
079#NSDATAに読み込む
080set ocidOption to (refMe's NSDataReadingMappedIfSafe)
081set listResponse to refMe's NSData's alloc()'s initWithContentsOfURL:(ocidPackagesFileURL) options:(ocidOption) |error| :(reference)
082if (item 2 of listResponse) = (missing value) then
083  set ocidGzFileData to (item 1 of listResponse)
084else if (item 2 of listResponse) ≠ (missing value) then
085  set strErrorNO to (item 2 of listResponse)'s code() as text
086  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
087  refMe's NSLog("■:" & strErrorNO & strErrorMes)
088  return "エラーしました" & strErrorNO & strErrorMes
089end if
090##保存
091#テンポラリに保存
092set appFileManager to refMe's NSFileManager's defaultManager()
093set ocidTempDirURL to appFileManager's temporaryDirectory()
094set ocidUUID to refMe's NSUUID's alloc()'s init()
095set ocidUUIDString to ocidUUID's UUIDString
096set ocidSaveDirPathURL to ocidTempDirURL's URLByAppendingPathComponent:(ocidUUIDString) isDirectory:(true)
097set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
098ocidAttrDict's setValue:(511) forKey:(refMe's NSFilePosixPermissions)
099set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:true attributes:(ocidAttrDict) |error| :(reference)
100if (item 1 of listDone) is true then
101  #パスを整形しておく
102  set ocidSaveFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(ocidFileName) isDirectory:(false)
103  set ocidExtractXMLFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:("metadata.xml") isDirectory:(false)
104  ##NSDataで保存
105  set ocidOption to (refMe's NSDataWritingAtomic)
106  set listDone to ocidGzFileData's writeToURL:(ocidSaveFilePathURL) options:(ocidOption) |error| :(reference)
107  if (item 1 of listDone) is true then
108    log "正常処理"
109  else if (item 2 of listDone) ≠ (missing value) then
110    set strErrorNO to (item 2 of listDone)'s code() as text
111    set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
112    refMe's NSLog("■:" & strErrorNO & strErrorMes)
113    return "エラーしました" & strErrorNO & strErrorMes
114  end if
115  set strSaveFilePath to ocidSaveFilePathURL's |path|() as text
116else if (item 2 of listDone) ≠ (missing value) then
117  set strErrorNO to (item 2 of listDone)'s code() as text
118  set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
119  refMe's NSLog("■:" & strErrorNO & strErrorMes)
120  return "エラーしました" & strErrorNO & strErrorMes
121end if
122#保存したファイルを解凍して
123set strCommandText to ("/bin/zsh -c '/usr/bin/gzip -d \"" & strSaveFilePath & "\"'") as text
124log strCommandText
125try
126  do shell script strCommandText
127on error
128  return "gzipでエラーになりました"
129end try
130
131######
132#解凍したXMLを読み込む
133set ocidOption to (refMe's NSXMLDocumentTidyXML)
134set listResponse to refMe's NSXMLDocument's alloc()'s initWithContentsOfURL:(ocidExtractXMLFilePathURL) options:(ocidOption) |error| :(reference)
135if (item 2 of listResponse) = (missing value) then
136  set ocidReadXMLDoc to (item 1 of listResponse)
137else if (item 2 of listResponse) ≠ (missing value) then
138  set strErrorNO to (item 2 of listResponse)'s code() as text
139  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
140  refMe's NSLog("■:" & strErrorNO & strErrorMes)
141  log "エラーしました" & strErrorNO & strErrorMes
142  set ocidReadXMLDoc to (item 1 of listResponse)
143end if
144#ビルド番号
145set ocidRootElement to ocidReadXMLDoc's rootElement()
146# set listResponse to (ocidRootElement's nodesForXPath:("//productList/product/buildNumber") |error| :(reference))
147set listResponse to (ocidRootElement's nodesForXPath:("//visibleTo/product/buildNumber") |error| :(reference))
148set ocidBuildNumber to (item 1 of listResponse)'s firstObject()
149set ocidBuldName to ocidBuildNumber's stringValue()
150#バージョン
151set listResponse to (ocidRootElement's nodesForXPath:("//visibleTo/product/version") |error| :(reference))
152set ocidVersionNumber to (item 1 of listResponse)'s firstObject()
153set ocidVersionName to ocidVersionNumber's stringValue() as text
154#ファイル名
155set listResponse to (ocidRootElement's nodesForXPath:("//componentList/component/relativePath") |error| :(reference))
156set ocidRelativePath to (item 1 of listResponse)'s firstObject()
157set ocidTarFileName to ocidRelativePath's stringValue() as text
158#パスを繋げてURLにして
159set strSetPath to ("/cds/vmw-desktop/ws/" & ocidVersionName & "/" & ocidBuldName & "/windows/packages/" & ocidTarFileName) as text
160set ocidURLComponents to refMe's NSURLComponents's alloc()'s init()
161ocidURLComponents's setScheme:("https")
162ocidURLComponents's setHost:("softwareupdate.vmware.com")
163ocidURLComponents's setPath:(strSetPath)
164set ocidTarURL to ocidURLComponents's |URL|()
165
166
167#NSDATAに読み込む ダウンロード
168set ocidOption to (refMe's NSDataReadingMappedIfSafe)
169set listResponse to refMe's NSData's alloc()'s initWithContentsOfURL:(ocidTarURL) options:(ocidOption) |error| :(reference)
170if (item 2 of listResponse) = (missing value) then
171  set ocidSetImageData to (item 1 of listResponse)
172else if (item 2 of listResponse) ≠ (missing value) then
173  set strErrorNO to (item 2 of listResponse)'s code() as text
174  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
175  refMe's NSLog("■:" & strErrorNO & strErrorMes)
176  return "エラーしました" & strErrorNO & strErrorMes
177end if
178#ダウンロードフォルダに指定のファイル名で
179set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSDownloadsDirectory) inDomains:(refMe's NSUserDomainMask))
180set ocidDownloadsDirPathURL to ocidURLsArray's firstObject()
181set ocidSaveFilePathURL to ocidDownloadsDirPathURL's URLByAppendingPathComponent:(ocidTarFileName) isDirectory:false
182#保存
183set ocidOption to (refMe's NSDataWritingAtomic)
184set listDone to ocidSetImageData's writeToURL:(ocidSaveFilePathURL) options:(ocidOption) |error| :(reference)
185if (item 1 of listDone) is true then
186  log "正常終了"
187else if (item 1 of listDone) is false then
188  log (item 2 of listDone)'s localizedDescription() as text
189  return "保存に失敗しました"
190end if
191
192
193
194################################
195#XMLのファイル名   Core
196set ocidFileName to ocidCoreFileURL's lastPathComponent()
197#NSDATAに読み込む
198set ocidOption to (refMe's NSDataReadingMappedIfSafe)
199set listResponse to refMe's NSData's alloc()'s initWithContentsOfURL:(ocidCoreFileURL) options:(ocidOption) |error| :(reference)
200if (item 2 of listResponse) = (missing value) then
201  set ocidGzFileData to (item 1 of listResponse)
202else if (item 2 of listResponse) ≠ (missing value) then
203  set strErrorNO to (item 2 of listResponse)'s code() as text
204  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
205  refMe's NSLog("■:" & strErrorNO & strErrorMes)
206  return "エラーしました" & strErrorNO & strErrorMes
207end if
208##保存
209#テンポラリに保存
210set appFileManager to refMe's NSFileManager's defaultManager()
211set ocidTempDirURL to appFileManager's temporaryDirectory()
212set ocidUUID to refMe's NSUUID's alloc()'s init()
213set ocidUUIDString to ocidUUID's UUIDString
214set ocidSaveDirPathURL to ocidTempDirURL's URLByAppendingPathComponent:(ocidUUIDString) isDirectory:(true)
215set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
216ocidAttrDict's setValue:(511) forKey:(refMe's NSFilePosixPermissions)
217set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:true attributes:(ocidAttrDict) |error| :(reference)
218if (item 1 of listDone) is true then
219  #パスを整形しておく
220  set ocidSaveFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(ocidFileName) isDirectory:(false)
221  set ocidExtractXMLFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:("metadata.xml") isDirectory:(false)
222  ##NSDataで保存
223  set ocidOption to (refMe's NSDataWritingAtomic)
224  set listDone to ocidGzFileData's writeToURL:(ocidSaveFilePathURL) options:(ocidOption) |error| :(reference)
225  if (item 1 of listDone) is true then
226    log "正常処理"
227  else if (item 2 of listDone) ≠ (missing value) then
228    set strErrorNO to (item 2 of listDone)'s code() as text
229    set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
230    refMe's NSLog("■:" & strErrorNO & strErrorMes)
231    return "エラーしました" & strErrorNO & strErrorMes
232  end if
233  set strSaveFilePath to ocidSaveFilePathURL's |path|() as text
234else if (item 2 of listDone) ≠ (missing value) then
235  set strErrorNO to (item 2 of listDone)'s code() as text
236  set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
237  refMe's NSLog("■:" & strErrorNO & strErrorMes)
238  return "エラーしました" & strErrorNO & strErrorMes
239end if
240#保存したファイルを解凍して
241set strCommandText to ("/bin/zsh -c '/usr/bin/gzip -d \"" & strSaveFilePath & "\"'") as text
242log strCommandText
243try
244  do shell script strCommandText
245on error
246  return "gzipでエラーになりました"
247end try
248
249######
250#解凍したXMLを読み込む
251set ocidOption to (refMe's NSXMLDocumentTidyXML)
252set listResponse to refMe's NSXMLDocument's alloc()'s initWithContentsOfURL:(ocidExtractXMLFilePathURL) options:(ocidOption) |error| :(reference)
253if (item 2 of listResponse) = (missing value) then
254  set ocidReadXMLDoc to (item 1 of listResponse)
255else if (item 2 of listResponse) ≠ (missing value) then
256  set strErrorNO to (item 2 of listResponse)'s code() as text
257  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
258  refMe's NSLog("■:" & strErrorNO & strErrorMes)
259  log "エラーしました" & strErrorNO & strErrorMes
260  set ocidReadXMLDoc to (item 1 of listResponse)
261end if
262#ビルド番号
263set ocidRootElement to ocidReadXMLDoc's rootElement()
264set listResponse to (ocidRootElement's nodesForXPath:("//productList/product/buildNumber") |error| :(reference))
265set ocidBuildNumber to (item 1 of listResponse)'s firstObject()
266set ocidBuldName to ocidBuildNumber's stringValue()
267#バージョン
268set listResponse to (ocidRootElement's nodesForXPath:("//productList/product/version") |error| :(reference))
269set ocidVersionNumber to (item 1 of listResponse)'s firstObject()
270set ocidVersionName to ocidVersionNumber's stringValue() as text
271#ファイル名
272set listResponse to (ocidRootElement's nodesForXPath:("//componentList/component/relativePath") |error| :(reference))
273set ocidRelativePath to (item 1 of listResponse)'s firstObject()
274set ocidTarFileName to ocidRelativePath's stringValue() as text
275#パスを繋げてURLにして
276set strSetPath to ("/cds/vmw-desktop/ws/" & ocidVersionName & "/" & ocidBuldName & "/windows/core/" & ocidTarFileName) as text
277set ocidURLComponents to refMe's NSURLComponents's alloc()'s init()
278ocidURLComponents's setScheme:("https")
279ocidURLComponents's setHost:("softwareupdate.vmware.com")
280ocidURLComponents's setPath:(strSetPath)
281set ocidTarURL to ocidURLComponents's |URL|()
282log ocidTarURL's absoluteString() as text
283
284
285#NSDATAに読み込む ダウンロード
286set ocidOption to (refMe's NSDataReadingMappedIfSafe)
287set listResponse to refMe's NSData's alloc()'s initWithContentsOfURL:(ocidTarURL) options:(ocidOption) |error| :(reference)
288if (item 2 of listResponse) = (missing value) then
289  set ocidSetImageData to (item 1 of listResponse)
290else if (item 2 of listResponse) ≠ (missing value) then
291  set strErrorNO to (item 2 of listResponse)'s code() as text
292  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
293  refMe's NSLog("■:" & strErrorNO & strErrorMes)
294  return "エラーしました" & strErrorNO & strErrorMes
295end if
296#ダウンロードフォルダに指定のファイル名で
297set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSDownloadsDirectory) inDomains:(refMe's NSUserDomainMask))
298set ocidDownloadsDirPathURL to ocidURLsArray's firstObject()
299set ocidSaveFilePathURL to ocidDownloadsDirPathURL's URLByAppendingPathComponent:(ocidTarFileName) isDirectory:false
300#保存
301set ocidOption to (refMe's NSDataWritingAtomic)
302set listDone to ocidSetImageData's writeToURL:(ocidSaveFilePathURL) options:(ocidOption) |error| :(reference)
303if (item 1 of listDone) is true then
304  log "正常終了"
305else if (item 1 of listDone) is false then
306  log (item 2 of listDone)'s localizedDescription() as text
307  return "保存に失敗しました"
308end if
309#保存先を開く
310set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
311set boolDone to appSharedWorkspace's openURL:(ocidDownloadsDirPathURL)
312
313
314return "終了"
AppleScriptで生成しました

|

VMware Fusion 最新版ダウンローダー (URL追加 ARM版 とインテル版で選べるようにした)

【注意】ARM版は更新頻度が低いためユニバーサル版の利用が推奨です
AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003(*
004com.cocolog-nifty.quicktimer.icefloe
005VMware Fusion最新版をダウンロード
006ダウンロードフォルダに保存します
007v2 インテル用 ARM用のURLを追加
008*)
009----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
010use AppleScript version "2.8"
011use framework "Foundation"
012use framework "AppKit"
013use scripting additions
014property refMe : a reference to current application
015
016### 【1】XMLのURL
017#サイトURL
018set strSiteURL to ("https://softwareupdate.vmware.com/cds/vmw-desktop/") as text
019set ocidSiteURL to refMe's NSURL's alloc()'s initWithString:(strSiteURL)
020#XMLのURL
021#設定項目(デフォルトはARM用になっています)
022#インテル用
023#set strURL to ("https://softwareupdate.vmware.com/cds/vmw-desktop/fusion.xml") as text
024#ユニバーサルバイナリー用
025#set strURL to ("https://softwareupdate.vmware.com/cds/vmw-desktop/fusion-universal.xml") as text
026#ARM用
027set strURL to ("https://softwareupdate.vmware.com/cds/vmw-desktop/fusion-arm64.xml") as text
028
029#NSURLにして
030set ocidURL to refMe's NSURL's alloc()'s initWithString:(strURL)
031
032### 【2】XML読み込み
033set ocidOption to (refMe's NSXMLDocumentTidyXML)
034set listResponse to refMe's NSXMLDocument's alloc()'s initWithContentsOfURL:(ocidURL) options:(ocidOption) |error| :(reference)
035if (item 2 of listResponse) = (missing value) then
036  set ocidReadXMLDoc to (item 1 of listResponse)
037else if (item 2 of listResponse) ≠ (missing value) then
038  set strErrorNO to (item 2 of listResponse)'s code() as text
039  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
040  refMe's NSLog("■:" & strErrorNO & strErrorMes)
041  log "エラーしました" & strErrorNO & strErrorMes
042  set ocidReadXMLDoc to (item 1 of listResponse)
043end if
044#格納用のARRAY
045set ocidXMLURLArrayM to refMe's NSMutableArray's alloc()'s initWithCapacity:(0)
046###【3】XMLから必要なデータを取得
047#【3-1】:ROOT
048set ocidRootElement to ocidReadXMLDoc's rootElement()
049#【3-2】:metadata
050##metadataを要素として取得してから処理する
051set ocidElementArray to ocidRootElement's elementsForName:("metadata")
052repeat with itemElement in ocidElementArray
053  set ocidUrlPath to (itemElement's elementsForName:("url"))'s firstObject()
054  set ocidSitePath to ocidUrlPath's stringValue()
055  set ocidItemURL to (ocidSiteURL's URLByAppendingPathComponent:(ocidSitePath) isDirectory:(false))
056  set ocidItemURLstring to ocidItemURL's absoluteString() as text
057  (ocidXMLURLArrayM's addObject:(ocidItemURLstring))
058end repeat
059
060##Arrayをソート
061set ocidSortedArray to ocidXMLURLArrayM's sortedArrayUsingSelector:("localizedStandardCompare:")
062#バージョン数のもっとも大きい数字が最新だから
063set ocidFileURL to ocidSortedArray's lastObject()
064#最新版のXMLのURL
065set ocidXMLURL to refMe's NSURL's alloc()'s initWithString:(ocidFileURL)
066#XMLのファイル名
067set ocidFileName to ocidXMLURL's lastPathComponent()
068#NSDATAに読み込む
069set ocidOption to (refMe's NSDataReadingMappedIfSafe)
070set listResponse to refMe's NSData's alloc()'s initWithContentsOfURL:(ocidXMLURL) options:(ocidOption) |error| :(reference)
071if (item 2 of listResponse) = (missing value) then
072  set ocidSetImageData to (item 1 of listResponse)
073else if (item 2 of listResponse) ≠ (missing value) then
074  set strErrorNO to (item 2 of listResponse)'s code() as text
075  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
076  refMe's NSLog("■:" & strErrorNO & strErrorMes)
077  return "エラーしました" & strErrorNO & strErrorMes
078end if
079
080##保存
081#テンポラリに保存
082set appFileManager to refMe's NSFileManager's defaultManager()
083set ocidTempDirURL to appFileManager's temporaryDirectory()
084set ocidUUID to refMe's NSUUID's alloc()'s init()
085set ocidUUIDString to ocidUUID's UUIDString
086set ocidSaveDirPathURL to ocidTempDirURL's URLByAppendingPathComponent:(ocidUUIDString) isDirectory:(true)
087set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
088ocidAttrDict's setValue:(511) forKey:(refMe's NSFilePosixPermissions)
089set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:true attributes:(ocidAttrDict) |error| :(reference)
090if (item 1 of listDone) is true then
091  #パスを整形しておく
092  set ocidSaveFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(ocidFileName) isDirectory:(false)
093  set ocidExtractXMLFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:("metadata.xml") isDirectory:(false)
094  ##NSDataで保存
095  set ocidOption to (refMe's NSDataWritingAtomic)
096  set listDone to ocidSetImageData's writeToURL:(ocidSaveFilePathURL) options:(ocidOption) |error| :(reference)
097  if (item 1 of listDone) is true then
098    log "正常処理"
099  else if (item 2 of listDone) ≠ (missing value) then
100    set strErrorNO to (item 2 of listDone)'s code() as text
101    set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
102    refMe's NSLog("■:" & strErrorNO & strErrorMes)
103    return "エラーしました" & strErrorNO & strErrorMes
104  end if
105  set strSaveFilePath to ocidSaveFilePathURL's |path|() as text
106else if (item 2 of listDone) ≠ (missing value) then
107  set strErrorNO to (item 2 of listDone)'s code() as text
108  set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
109  refMe's NSLog("■:" & strErrorNO & strErrorMes)
110  return "エラーしました" & strErrorNO & strErrorMes
111end if
112#保存したファイルを解凍して
113set strCommandText to ("/bin/zsh -c '/usr/bin/gzip -d \"" & strSaveFilePath & "\"'") as text
114log strCommandText
115try
116  do shell script strCommandText
117on error
118  return "gzipでエラーになりました"
119end try
120
121######
122#解凍したXMLを読み込む
123set ocidOption to (refMe's NSXMLDocumentTidyXML)
124set listResponse to refMe's NSXMLDocument's alloc()'s initWithContentsOfURL:(ocidExtractXMLFilePathURL) options:(ocidOption) |error| :(reference)
125if (item 2 of listResponse) = (missing value) then
126  set ocidReadXMLDoc to (item 1 of listResponse)
127else if (item 2 of listResponse) ≠ (missing value) then
128  set strErrorNO to (item 2 of listResponse)'s code() as text
129  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
130  refMe's NSLog("■:" & strErrorNO & strErrorMes)
131  log "エラーしました" & strErrorNO & strErrorMes
132  set ocidReadXMLDoc to (item 1 of listResponse)
133end if
134#ビルド番号
135set ocidRootElement to ocidReadXMLDoc's rootElement()
136set listResponse to (ocidRootElement's nodesForXPath:("//productList/product/buildNumber") |error| :(reference))
137set ocidBuildNumber to (item 1 of listResponse)'s firstObject()
138set ocidBuldName to ocidBuildNumber's stringValue()
139#バージョン
140set listResponse to (ocidRootElement's nodesForXPath:("//productList/product/version") |error| :(reference))
141set ocidVersionNumber to (item 1 of listResponse)'s firstObject()
142set ocidVersionName to ocidVersionNumber's stringValue() as text
143#ファイル名
144set listResponse to (ocidRootElement's nodesForXPath:("//componentList/component/relativePath") |error| :(reference))
145set ocidRelativePath to (item 1 of listResponse)'s firstObject()
146set ocidTarFileName to ocidRelativePath's stringValue() as text
147#パスを繋げてURLにして
148set strSetPath to ("/cds/vmw-desktop/fusion/" & ocidVersionName & "/" & ocidBuldName & "/universal/core/" & ocidTarFileName) as text
149set ocidURLComponents to refMe's NSURLComponents's alloc()'s init()
150ocidURLComponents's setScheme:("https")
151ocidURLComponents's setHost:("softwareupdate.vmware.com")
152ocidURLComponents's setPath:(strSetPath)
153set ocidTarURL to ocidURLComponents's |URL|()
154log ocidTarURL's absoluteString() as text
155
156#NSDATAに読み込む ダウンロード
157set ocidOption to (refMe's NSDataReadingMappedIfSafe)
158set listResponse to refMe's NSData's alloc()'s initWithContentsOfURL:(ocidTarURL) options:(ocidOption) |error| :(reference)
159if (item 2 of listResponse) = (missing value) then
160  set ocidSetImageData to (item 1 of listResponse)
161else if (item 2 of listResponse) ≠ (missing value) then
162  set strErrorNO to (item 2 of listResponse)'s code() as text
163  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
164  refMe's NSLog("■:" & strErrorNO & strErrorMes)
165  return "エラーしました" & strErrorNO & strErrorMes
166end if
167#ダウンロードフォルダに指定のファイル名で
168set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSDownloadsDirectory) inDomains:(refMe's NSUserDomainMask))
169set ocidDownloadsDirPathURL to ocidURLsArray's firstObject()
170set ocidSaveFilePathURL to ocidDownloadsDirPathURL's URLByAppendingPathComponent:(ocidTarFileName) isDirectory:false
171#保存
172set ocidOption to (refMe's NSDataWritingAtomic)
173set listDone to ocidSetImageData's writeToURL:(ocidSaveFilePathURL) options:(ocidOption) |error| :(reference)
174if (item 1 of listDone) is true then
175  log "正常終了"
176else if (item 1 of listDone) is false then
177  log (item 2 of listDone)'s localizedDescription() as text
178  return "保存に失敗しました"
179end if
180#保存先を開く
181set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
182set boolDone to appSharedWorkspace's openURL:(ocidDownloadsDirPathURL)
183
184
185return "終了"
AppleScriptで生成しました

|

VMware Fusion 環境入れ替え(新規で仮想マシンを作成)

1:ARM用のWIndows11をダウンロードしておく
2:VMware Fusionをダウンロードしておく
3:旧環境の仮想マシンからWindowsのライセンスを解除しておく
4:新規仮想マシン作成
5:新仮想マシンでWindowsのライセンスを認証



1:ARM用のWIndows11をダウンロードしておく
202412040137551_570x195

https://www.microsoft.com/ja-jp/software-download/windows11arm64
ハッシュ値の確認は
ダウンロードしたファイルのハッシュ値の取得
https://quicktimer.cocolog-nifty.com/icefloe/2024/12/post-afe79b.html


2:VMware Fusionをダウンロードしておく
[com.vmware.fusion]VMware Fusion最新版ダウンロード
https://quicktimer.cocolog-nifty.com/icefloe/2024/09/post-944daa.html
ダウンロードしたファイルのハッシュ値の取得
https://quicktimer.cocolog-nifty.com/icefloe/2024/12/post-afe79b.html


3:旧環境の仮想マシンからWindowsのライセンスを解除しておく
Windows11のライセンスの付け替え(アカウントにリンクされたデジタルライセンスの認証解除)
https://quicktimer.cocolog-nifty.com/icefloe/2024/12/post-420e04.html


4:新規仮想マシン作成
VMware Fusion インストールステップ
https://quicktimer.cocolog-nifty.com/icefloe/2024/12/post-556176.html


5:新仮想マシンでWindowsのライセンスを認証

|

VMware Fusion インストールステップ

ポイント
1:キーボードは日本語を選択する
2:ネットワークはドライバー用のDVDイメージから
3:可能な限りディスクの容量は最大サイズを



あらかじめダウンロードしておいた
ARM用のWindowsのISOイメージをドロップします
202412040235551_1440x900


UEFIで通常利用なら問題ありません
202412040237002_640x533
 


パスワードは8桁以上なので留意
絶対忘れられないヤツですので
ファイルにしておくか、メモアプリに保存しておくといいです
202412040238221_640x533



Macのディスク残と相談にはなりますが
64GBだとあっという間にディスクFULLになります
96GB以上あるといいですね
AdobeのCC使う気なら128GB以上必須です
202412040238222_640x533



ファイル名は『意味のある命名』にしないと
仮想環境多くなった時にチョイチョイ困ることになります
202412040238421_655x155



保存したらディスクの容量を増量しておきます
202412040238521_640x382

ディスク残と相談ですが
96GB以上ないと困ると思います
202412040239131_640x303



ここまできたら
仮想環境を実行させます
202412040240571_800x638



なんでもいいので、MAC側のキーボードを押下します
するとWindowsのインストールが始まります
202412040242591_1024x806


ワンポイント
EFI Network...画面になっちゃったら
202412040241291_1024x806

メニューから再起動です
202412040243251_673x255



ワンポイント
キーボードは日本語を選択する
202412040245201_1024x806202412040245202_1024x806


インストール開始です
202412040245311_1024x806


インストールに失敗した場合解除が面倒なので
(参考:Windows11のライセンスの付け替え(アカウントにリンクされたデジタルライセンスの認証解除
プロダクトキーは後で登録します
202412040245312_1024x806



WINDOWSはPRO HOMEで選べますので
最終的に購入する予定のバージョンで選択します
202412040245431_1024x806



パーテーションも任意で
最初に設定してもいいし
後からしてもいいと思います
202412040245571_1024x806



Windowsのインストール実行です
202412040246071_1024x806



インストール後の
セットアップダイアログ
ネットワークに接続しましょうで進めなくなります
202412040251331_906x627

VMware Tools のインストールを実行します
202412040414131_642x422



『ネットワークに接続しましょう』画面
トライバーのインストール
202412040252301_919x6242
202412040414221_1640x728


すると
エラーメッセージは出ますが
仮想のネットワークを認識して、次へ進めるようになります
202412040415161_1086x846



ログイン後に
VMware Tools のインストールを実行すると
MacとWinのシームレスなコピペやファイルのドラッグ等が利用できるようになります
202412040356031_790x552



3:可能な限りディスクの容量は最大サイズを
後から仮想ディスクの容量を変更することは出来るのですが
パーテーションが連続しないので
専用ツールを使わないと
起動ディスクCを拡張することができません
最初から可能な限り最大の容量を確保しておくといいです

202412040451081_775x50522

|

[メモ]VMware Fusion ARM Mac用 ARM版 Windows11ダウンロード

VMware Fusionで必要になる
Arm ベース PC 用 Windows 11 のダウンロード
https://www.microsoft.com/ja-jp/software-download/windows11arm64

ライセンスは別



VMware Fusionダウンロード
https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion


[com.vmware.fusion]VMware Fusion最新版ダウンロード
https://quicktimer.cocolog-nifty.com/icefloe/2024/09/post-944daa.html

要broadcomログイン
しかも、ライセンス認証してすぐダウンロードできない念の入よう
VMware Fusion
https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware+Fusion

VMware Workstation Pro
https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware+Workstation+Pro

|

[com.vmware.fusion]VMware Fusion最新版ダウンロード



Windows11のダウンロードは
https://www.microsoft.com/ja-jp/software-download/windows11
Windows 11 ディスク イメージ (ISO) をダウンロードする
ArmMacの場合 ARMwindowsになるので 色々面倒だけど
Windowsに機能制限があるものの無料で始められる



AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003(*
004com.cocolog-nifty.quicktimer.icefloe
005VMware Fusion最新版をダウンロード
006ダウンロードフォルダに保存します
007*)
008----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
009use AppleScript version "2.8"
010use framework "Foundation"
011use framework "AppKit"
012use scripting additions
013property refMe : a reference to current application
014
015### 【1】XMLのURL
016#サイトURL
017set strSiteURL to ("https://softwareupdate.vmware.com/cds/vmw-desktop/") as text
018set ocidSiteURL to refMe's NSURL's alloc()'s initWithString:(strSiteURL)
019#XMLのURL
020set strURL to ("https://softwareupdate.vmware.com/cds/vmw-desktop/fusion-universal.xml") as text
021#NSURLにして
022set ocidURL to refMe's NSURL's alloc()'s initWithString:(strURL)
023
024### 【2】XML読み込み
025set ocidOption to (refMe's NSXMLDocumentTidyXML)
026set listResponse to refMe's NSXMLDocument's alloc()'s initWithContentsOfURL:(ocidURL) options:(ocidOption) |error| :(reference)
027if (item 2 of listResponse) = (missing value) then
028  set ocidReadXMLDoc to (item 1 of listResponse)
029else if (item 2 of listResponse) ≠ (missing value) then
030  set strErrorNO to (item 2 of listResponse)'s code() as text
031  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
032  refMe's NSLog("■:" & strErrorNO & strErrorMes)
033  log "エラーしました" & strErrorNO & strErrorMes
034  set ocidReadXMLDoc to (item 1 of listResponse)
035end if
036#格納用のARRAY
037set ocidXMLURLArrayM to refMe's NSMutableArray's alloc()'s initWithCapacity:(0)
038###【3】XMLから必要なデータを取得
039#【3-1】:ROOT
040set ocidRootElement to ocidReadXMLDoc's rootElement()
041#【3-2】:metadata
042##metadataを要素として取得してから処理する
043set ocidElementArray to ocidRootElement's elementsForName:("metadata")
044repeat with itemElement in ocidElementArray
045  set ocidUrlPath to (itemElement's elementsForName:("url"))'s firstObject()
046  set ocidSitePath to ocidUrlPath's stringValue()
047  set ocidItemURL to (ocidSiteURL's URLByAppendingPathComponent:(ocidSitePath) isDirectory:(false))
048  set ocidItemURLstring to ocidItemURL's absoluteString() as text
049  (ocidXMLURLArrayM's addObject:(ocidItemURLstring))
050end repeat
051
052##Arrayをソート
053set ocidSortedArray to ocidXMLURLArrayM's sortedArrayUsingSelector:("localizedStandardCompare:")
054#バージョン数のもっとも大きい数字が最新だから
055set ocidFileURL to ocidSortedArray's lastObject()
056#最新版のXMLのURL
057set ocidXMLURL to refMe's NSURL's alloc()'s initWithString:(ocidFileURL)
058#XMLのファイル名
059set ocidFileName to ocidXMLURL's lastPathComponent()
060#NSDATAに読み込む
061set ocidOption to (refMe's NSDataReadingMappedIfSafe)
062set listResponse to refMe's NSData's alloc()'s initWithContentsOfURL:(ocidXMLURL) options:(ocidOption) |error| :(reference)
063if (item 2 of listResponse) = (missing value) then
064  set ocidSetImageData to (item 1 of listResponse)
065else if (item 2 of listResponse) ≠ (missing value) then
066  set strErrorNO to (item 2 of listResponse)'s code() as text
067  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
068  refMe's NSLog("■:" & strErrorNO & strErrorMes)
069  return "エラーしました" & strErrorNO & strErrorMes
070end if
071
072##保存
073#テンポラリに保存
074set appFileManager to refMe's NSFileManager's defaultManager()
075set ocidTempDirURL to appFileManager's temporaryDirectory()
076set ocidUUID to refMe's NSUUID's alloc()'s init()
077set ocidUUIDString to ocidUUID's UUIDString
078set ocidSaveDirPathURL to ocidTempDirURL's URLByAppendingPathComponent:(ocidUUIDString) isDirectory:(true)
079set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
080ocidAttrDict's setValue:(511) forKey:(refMe's NSFilePosixPermissions)
081set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:true attributes:(ocidAttrDict) |error| :(reference)
082if (item 1 of listDone) is true then
083  #パスを整形しておく
084  set ocidSaveFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(ocidFileName) isDirectory:(false)
085  set ocidExtractXMLFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:("metadata.xml") isDirectory:(false)
086  ##NSDataで保存
087  set ocidOption to (refMe's NSDataWritingAtomic)
088  set listDone to ocidSetImageData's writeToURL:(ocidSaveFilePathURL) options:(ocidOption) |error| :(reference)
089  if (item 1 of listDone) is true then
090    log "正常処理"
091  else if (item 2 of listDone) ≠ (missing value) then
092    set strErrorNO to (item 2 of listDone)'s code() as text
093    set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
094    refMe's NSLog("■:" & strErrorNO & strErrorMes)
095    return "エラーしました" & strErrorNO & strErrorMes
096  end if
097  set strSaveFilePath to ocidSaveFilePathURL's |path|() as text
098else if (item 2 of listDone) ≠ (missing value) then
099  set strErrorNO to (item 2 of listDone)'s code() as text
100  set strErrorMes to (item 2 of listDone)'s localizedDescription() as text
101  refMe's NSLog("■:" & strErrorNO & strErrorMes)
102  return "エラーしました" & strErrorNO & strErrorMes
103end if
104#保存したファイルを解凍して
105set strCommandText to ("/bin/zsh -c '/usr/bin/gzip -d \"" & strSaveFilePath & "\"'") as text
106log strCommandText
107try
108  do shell script strCommandText
109on error
110  return "gzipでエラーになりました"
111end try
112
113######
114#解凍したXMLを読み込む
115set ocidOption to (refMe's NSXMLDocumentTidyXML)
116set listResponse to refMe's NSXMLDocument's alloc()'s initWithContentsOfURL:(ocidExtractXMLFilePathURL) options:(ocidOption) |error| :(reference)
117if (item 2 of listResponse) = (missing value) then
118  set ocidReadXMLDoc to (item 1 of listResponse)
119else if (item 2 of listResponse) ≠ (missing value) then
120  set strErrorNO to (item 2 of listResponse)'s code() as text
121  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
122  refMe's NSLog("■:" & strErrorNO & strErrorMes)
123  log "エラーしました" & strErrorNO & strErrorMes
124  set ocidReadXMLDoc to (item 1 of listResponse)
125end if
126#ビルド番号
127set ocidRootElement to ocidReadXMLDoc's rootElement()
128set listResponse to (ocidRootElement's nodesForXPath:("//productList/product/buildNumber") |error| :(reference))
129set ocidBuildNumber to (item 1 of listResponse)'s firstObject()
130set ocidBuldName to ocidBuildNumber's stringValue()
131#バージョン
132set listResponse to (ocidRootElement's nodesForXPath:("//productList/product/version") |error| :(reference))
133set ocidVersionNumber to (item 1 of listResponse)'s firstObject()
134set ocidVersionName to ocidVersionNumber's stringValue() as text
135#ファイル名
136set listResponse to (ocidRootElement's nodesForXPath:("//componentList/component/relativePath") |error| :(reference))
137set ocidRelativePath to (item 1 of listResponse)'s firstObject()
138set ocidTarFileName to ocidRelativePath's stringValue() as text
139#パスを繋げてURLにして
140set strSetPath to ("/cds/vmw-desktop/fusion/" & ocidVersionName & "/" & ocidBuldName & "/universal/core/" & ocidTarFileName) as text
141set ocidURLComponents to refMe's NSURLComponents's alloc()'s init()
142ocidURLComponents's setScheme:("https")
143ocidURLComponents's setHost:("softwareupdate.vmware.com")
144ocidURLComponents's setPath:(strSetPath)
145set ocidTarURL to ocidURLComponents's |URL|()
146log ocidTarURL's absoluteString() as text
147
148#NSDATAに読み込む ダウンロード
149set ocidOption to (refMe's NSDataReadingMappedIfSafe)
150set listResponse to refMe's NSData's alloc()'s initWithContentsOfURL:(ocidTarURL) options:(ocidOption) |error| :(reference)
151if (item 2 of listResponse) = (missing value) then
152  set ocidSetImageData to (item 1 of listResponse)
153else if (item 2 of listResponse) ≠ (missing value) then
154  set strErrorNO to (item 2 of listResponse)'s code() as text
155  set strErrorMes to (item 2 of listResponse)'s localizedDescription() as text
156  refMe's NSLog("■:" & strErrorNO & strErrorMes)
157  return "エラーしました" & strErrorNO & strErrorMes
158end if
159#ダウンロードフォルダに指定のファイル名で
160set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSDownloadsDirectory) inDomains:(refMe's NSUserDomainMask))
161set ocidDownloadsDirPathURL to ocidURLsArray's firstObject()
162set ocidSaveFilePathURL to ocidDownloadsDirPathURL's URLByAppendingPathComponent:(ocidTarFileName) isDirectory:false
163#保存
164set ocidOption to (refMe's NSDataWritingAtomic)
165set listDone to ocidSetImageData's writeToURL:(ocidSaveFilePathURL) options:(ocidOption) |error| :(reference)
166if (item 1 of listDone) is true then
167  log "正常終了"
168else if (item 1 of listDone) is false then
169  log (item 2 of listDone)'s localizedDescription() as text
170  return "保存に失敗しました"
171end if
172#保存先を開く
173set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
174set boolDone to appSharedWorkspace's openURL:(ocidDownloadsDirPathURL)
175
176
177return "終了"
AppleScriptで生成しました

|

VMware Fusion 13.6.0(24238079)

13.6.0
XML
https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/13.6.0/24238079/universal/core/metadata.xml.gz
本体
https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/13.6.0/24238079/universal/core/com.vmware.fusion.zip.tar

20240905020836_1160x696


https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/13.5.2/23775688/universal/core/metadata.xml.gz
https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/13.5.1/23298085/universal/core/metadata.xml.gz
https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/13.5.0/22583790/universal/core/metadata.xml.gz
https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/13.0.2/21581413/universal/core/metadata.xml.gz
https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/13.0.0/20802013/universal/core/metadata.xml.gz
https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/13.0.1/21139760/universal/core/metadata.xml.gz

|

[メモ]VMware Fusion 個人用無料版ダウンロードURL

要broadcomログイン
しかも、ライセンス認証してすぐダウンロードできない念の入よう
VMware Fusion
https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware+Fusion

VMware Workstation Pro
https://support.broadcom.com/group/ecx/productdownloads?subfamily=VMware+Workstation+Pro

|

その他のカテゴリー

Accessibility Acrobat Acrobat 2020 Acrobat AddOn Acrobat Annotation Acrobat ARMDC Acrobat AV2 Acrobat BookMark Acrobat Classic Acrobat DC Acrobat Dialog Acrobat Distiller Acrobat Form Acrobat JS Acrobat Manifest Acrobat Menu Acrobat Open Acrobat Plugin Acrobat Preferences Acrobat Preflight Acrobat Python Acrobat Reader Acrobat Reader Localized Acrobat Reference Acrobat SCA Acrobat SCA Updater Acrobat Sequ Acrobat Sign Acrobat Stamps Acrobat Watermark Acrobat Windows Acrobat Windows Reader Admin Admin Account Admin Apachectl Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Mobileconfig Admin Permission Admin Pkg Admin Power Management Admin Printer Admin SetUp Admin SMB Admin Support Admin System Information Admin Tools Admin Users Admin Volumes Admin XProtect Adobe Adobe Bridge Adobe FDKO Adobe Fonts Adobe Reference Adobe RemoteUpdateManager AppKit Apple AppleScript AppleScript do shell script AppleScript List AppleScript ObjC AppleScript Osax AppleScript PDF AppleScript Pictures AppleScript record AppleScript Script Editor AppleScript Script Menu AppleScript Shortcuts AppleScript Shortcuts Events AppleScript System Events AppleScript System Events Plist AppleScript Video Applications AppStore Archive Attributes Automator BackUp Barcode Barcode Decode Barcode QR Bash Basic Basic Path Bluetooth BOX Browser Calendar CD/DVD Choose Chrome CIImage CityCode CloudStorage Color com.apple.LaunchServices.OpenWith Console Contacts CotEditor CURL current application Date&Time defaults delimiters Desktop Device Diff Disk Dock DropBox Droplet eMail Encode % Encode Decode Encode HTML Entity Encode UTF8 Error EXIFData ffmpeg File File Name Finder Firefox Folder FolderAction Fonts Fonts ATS Fonts Python Foxit GIF github Guide HTML Icon Illustrator Image Events Image2PDF ImageOptim Input Dictionary iPhone iWork Javascript Jedit Json Label Language Leading Zero List locationd LRC lsappinfo m3u8 Mail MakePDF Map Math Media Media AVAsset Media AVconvert Media AVFoundation Media AVURLAsset Media Movie Media Music Memo Messages Microsoft Microsoft Edge Microsoft Excel Microsoft Fonts Microsoft Office Mouse Music NetWork Notes NSArray NSArray Sort NSBezierPath NSBitmapImageRep NSBundle NSCFBoolean NSCharacterSet NSColor NSColorList NSData NSDecimalNumber NSDictionary NSError NSEvent NSFileAttributes NSFileManager NSFileManager enumeratorAtURL NSFont NSFontManager NSGraphicsContext NSImage NSIndex NSKeyedArchiver NSKeyedUnarchiver NSLocale NSMetadataItem NSMutableArray NSMutableDictionary NSMutableString NSNotFound NSNumber NSOpenPanel NSPasteboard NSpoint NSPredicate NSRange NSRect NSRegularExpression NSRunningApplication NSScreen NSSize NSString NSString stringByApplyingTransform NSStringCompareOptions NSTask NSTimeZone NSURL NSURL File NSURLBookmark NSURLComponents NSURLResourceKey NSURLSession NSUserDefaults NSUUID NSView NSWorkspace Numbers OAuth OneDrive PDF PDF Pymupdf PDFAnnotation PDFAnnotationWidget PDFContext PDFDisplayBox PDFDocumentPermissions PDFImageRep PDFKit PDFnUP PDFOutline PDFView perl Photoshop PlistBuddy pluginkit plutil postalcode PostScript prefPane Preview Python QuickLook QuickTime ReadMe Regular Expression Reminders ReName Repeat RTF Safari SaveFile ScreenCapture ScreenSaver SF Symbols character id SF Symbols Entity sips Skype Slack Sound Spotlight sqlite SRT StandardAdditions Swift System Settings TCC TemporaryItems Terminal Text Text CSV Text MD Text TSV TextEdit Tools Translate Trash Twitter Typography UI Unit Conversion UTType valueForKeyPath Video VisionKit Visual Studio Code VMware Fusion Wacom webarchive webp Wifi Windows XML XML EPUB XML HTML XML LSSharedFileList XML OPML XML Plist XML RSS XML savedSearch XML SVG XML TTML XML webloc XML xmllint XML XMP YouTube zoom