[df]デバイス名取得(リムーバルメディア)
#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
(*
error number -128
com.cocolog-nifty.quicktimer.icefloe
*)
#
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
##自分環境がos12なので2.8にしているだけです
use AppleScript version "2.8"
use framework "Foundation"
use framework "AppKit"
use scripting additions
property refMe : a reference to current application
set appFileManager to refMe's NSFileManager's defaultManager()
set ocidFalse to (refMe's NSNumber's numberWithBool:false)
set ocidTrue to (refMe's NSNumber's numberWithBool:true)
####################################
####全マウントボリューム取得
####################################
##オプション
set ocidOption to (refMe's NSVolumeEnumerationProduceFileReferenceURLs)
##取得キー
set ocidKeysArray to {(refMe's NSURLNameKey), (refMe's NSURLPathKey), (refMe's NSURLVolumeIsEjectableKey), (refMe's NSURLVolumeIsRemovableKey), (refMe's NSURLVolumeIsInternalKey)}
##取得
set ocidDiskArray to appFileManager's mountedVolumeURLsIncludingResourceValuesForKeys:(ocidKeysArray) options:(ocidOption)
##ボリュームの数だけ繰返し
repeat with itemDiskArrayURL in ocidDiskArray
##リソースキーを取得
set listResDict to (itemDiskArrayURL's resourceValuesForKeys:ocidKeysArray |error|:(reference))
##取り出し
set ocidResourceValuesDict to item 1 of listResDict
##内臓判定
set boolIsInternal to (ocidResourceValuesDict's objectForKey:(refMe's NSURLVolumeIsInternalKey))
###外付けを取得する
if boolIsInternal is (ocidFalse) then
set ocidInternalName to (ocidResourceValuesDict's objectForKey:(refMe's NSURLNameKey))
log ocidInternalName as text
##リムーバブル判定 -->CD/DVDメディア か USBメモリ
set boolIsRemovable to (ocidResourceValuesDict's objectForKey:(refMe's NSURLVolumeIsRemovableKey))
if boolIsRemovable is (ocidTrue) then
set ocidRemovableName to (ocidResourceValuesDict's objectForKey:(refMe's NSURLNameKey))
log ocidRemovableName as text
end if
end if
end repeat
####################################
####デバイス名取得
####################################
##コマンド整形
set strCommandText to ("/bin/df -k") as text
##コマンド実行
set strDfResponse to (do shell script strCommandText) as text
##Stringsに
set ocdiDfResponse to refMe's NSString's stringWithString:(strDfResponse)
##改行指定
set ocidCharacterSet to refMe's NSCharacterSet's newlineCharacterSet()
##改行でリスト
set ocidStringArray to ocdiDfResponse's componentsSeparatedByCharactersInSet:(ocidCharacterSet)
##リストの数だけ繰返し
repeat with itemStringArray in ocidStringArray
set strItemStringArray to itemStringArray as text
if strItemStringArray contains (ocidRemovableName as text) then
log strItemStringArray
##スペース指定
set ocidCharacterSet to refMe's NSCharacterSet's whitespaceCharacterSet()
set ocidDevArray to (itemStringArray's componentsSeparatedByCharactersInSet:(ocidCharacterSet))
--->指定ドライブの
log (ocidDevArray's objectAtIndex:0) as text
end if
end repeat
| 固定リンク
「Admin Volumes」カテゴリの記事
- [System Events]ディスクのアンマウント(2025.01.17)
- [hdiutil]ディスクイメージのマウントポイントをユニークな値で作成する(2025.01.16)
- inode番号から対象のファイルを探す(warning: inode (id 9999999): Resource Fork xattr is missing or empty for compressed file)(error: doc-id tree: record exists for doc-id xxxxx, file-id 9999999 but no inode references this doc-id)(2024.10.22)
- inode番号を調べる(warning: inode (id XXXXXXXX): Resource Fork xattr is missing or empty for compressed file)(2024.10.22)
- 外部ディスクで使用中が出た場合に対象プロセスを終了させる(2024.10.13)
「Disk」カテゴリの記事
- [UDSP]SPARSE - スパースディスクイメージを作成する(2024.10.16)
- DMGを読取専用 書き込み可能にコンバートする(2024.10.09)
- [bluray]VLCのブルーレイ再生ライブラリのインストール(3.0.20対応)(2024.02.09)
- [DMG]ディスクイメージを作る 4 File2DMGwPW(2023.09.15)
- [DMG]ディスクイメージを作る 3 File2DMG(2023.09.15)
「CD/DVD」カテゴリの記事
- com.apple.CD-DVD-Settings.extensionシステム設定を開く(2023.07.19)
- [com.apple.digihub]com.apple.digihub設定スクリプト(2023.07.19)
- [CD/DVD]基本(2023.05.20)
- ISOイメージを作るDD版.scpt(2023.05.20)
- ISOイメージを作るHDIUTIL版(2023.05.20)