ファイル名に指定ファイル名が含まれていたら指定したアプリで開く Autoit スクリプト
記事の執筆に AI な類は使用しておりません。
はじめに
Windows で右クリックメニューの 送る などでファイルを開くアプリを変更できますが
このファイルはこのアプリで必ず開きたいの場合は毎回面倒。
そこでファイル名に特定の名前が入っていたら
それに関連したアプリで開くができないかで
Autoit スクリプトで実現してみました。
置いておきますので宜しければどうぞ。
【 目次へ戻る 】
Autoit スクリプトの下準備
この記事のスクリプトは Autoit なので Autoit ファイル群が必要。今回はファイルを入手し解凍するだけなので
特に難しいではありません。
以下の 「 ダウンロード、インストール 」 の AutoIt Downloads より飛び
Download Bata アイコンより autoit-v3.3.16.1-rc2.zip を入手で
解凍するだけで準備完了。
Autoit3 Windowsの操作を自動化 使用方法/日本語化 ( HELPファイル )
【 目次へ戻る 】
スクリプト
ファイルに特定の文字が入っているとその文字に該当するアプリで開く Autoit スクリプトは以下です。
以下を貼り付けて拡張子を .au3 にします。
この意味がわからない場合は、以下のリンクのファイルを入手し
解凍すると拡張子が .au3 というファイルが入っているので
メモ帳で開いて以下のスクリプトを貼り付けてください。
AutoIt3_au3_v100.zip
以下:スクリプト ( ChangeAppLoad.au3 )
;Autoit スクリプト ここから ----- $tit = "ChangeAppLoad v1.00" #include;テスト用、読み込むファイルを2つセット / テスト時 = 1 $test = 0 If $test = 1 Then Dim $CmdLine[10] = [""] $CmdLine[0] = "2" $CmdLine[1] = "R:\test-Notepad3.txt" $CmdLine[2] = "R:\test-notepad+.txt" EndIf ;ここから書き換え ----- ;アプリを10個まで設定可能 / 0 - 9 までの 10個 ;0 はファイルが渡されなかった場合でデフォルトの関連付けなアプリを設定 $app_max = 10 Dim $app[$app_max] = [""] ;0 のアプリ名が Notepad.exe / 1 のアプリ名が Notepad3.exe / 2 のアプリ名が notepad++.exe の意味 $app[0] = "notepad.exe" $app[1] = "D:\APL\Notepad3\Notepad3.exe" $app[2] = "D:\APL\notepad++\notepad++.exe" ;指定の文字が含まれたら起動するアプリを分岐するの設定 ;最大数 10個 まで、任意に増加が可能 $name_max = 10 Dim $name[2][$name_max] = [[""]] ;ファイル名に Notepad3 という名前が含まれていれば 1 のアプリで起動 $name[0][0] = "1" $name[1][0] = "Notepad3" ;ファイル名に notepad+ という名前が含まれていれば 2 のアプリで起動 $name[0][1] = "2" $name[1][1] = "notepad+" ;ここまで書き換え ----- ;データの初期値 Dim $szDrive, $szDir, $szFName, $szExt $lod = 0 $lodz = 0 $siz = 0 $app_su = 0 ;----- ;開くアプリが存在しているかのチェック $lod = 0 while 1 $lod = $lod + 1 If $lod > $CmdLine[0] Then ExitLoop If NOT $app[$lod] = "" Then If NOT FileExists($app[$lod]) Then MsgBox("",$tit & " - 起動チェック", $app[$lod] & " が存在しません。" & @CRLF & "設定ミスな可能性があります。") EndIf EndIf WEnd ;ファイルが代入されていない場合はアプリ番号 0 で起動して終了 If $CmdLine[0] = 0 Then run($app[0]) exit EndIf $lod = 0 while 1 Sleep(100) $lod = $lod + 1 If $lod > $CmdLine[0] Then ExitLoop ;どのファイルをどのアプリで開くかを検査するへ飛ぶ _file_chk01() ;msgbox("", "", '"' & $app[$app_su] & '"' & " " & '"' & $CmdLine[$lod] & '"') ;ファイルを指定アプリで開く run('"' & $app[$app_su] & '"' & " " & '"' & $CmdLine[$lod] & '"') WEnd exit ;----- ;どのファイルをどのアプリで開くかを検査 Func _file_chk01() ;ファイル名を分割 _PathSplit($CmdLine[$lod], $szDrive, $szDir, $szFName, $szExt) ;初期設定値 $lodz = -1 $app_su = 0 while 1 $lodz = $lodz + 1 If $lodz >= $name_max Then ExitLoop ;ファイル名に指定文字が含まれているかを検査 $siz = StringInStr($szFName, $name[1][$lodz], 0, 1) ;msgbox("", $siz, $szFName & @CRLF &$name[1][$lodz]) ;指定ファイルが含まれていたら開くアプリ番号を代入 If $siz > 0 Then $app_su = $lodz + 1 ExitLoop EndIf WEnd EndFunc ;Autoit スクリプト ここまで -----
拡張子 .au3 に上のスクリプトをコピペして保存してください。
次は上で保存したファイルを書き換え後に
実行ファイルへ変換します。
【 目次へ戻る 】
自分用に書き換える
上のファイルを自分で使いたい様に書き換えます。以下の範囲を書き換えます、ここ以外は知識のない人は触らない。
;ここから書き換え -----
;ここまで書き換え -----
以下はこの様な設定でするの見本です。
ファイル名に Notepad3 が含まれるファイルを Notepad3.exe で開き1とする。
ファイル名に notepad+ が含まれるファイルを notepad++.exe で開き2とする。
230830-Notepad3.txt は Notepad3.exe で開き
230830-notepad+.txt は notepad++.exe で開く例です。
最初は開くアプリの指定です。
以下を探してください。
アプリを 10個 以上登録する場合は $app_max の数値を増やします。
;アプリを10個まで設定可能 / 0 - 9 までの 10個
$app_max = 10
すぐ下の $app[ここは数値] にアプリ名をフルパスで前後を "" で囲み記載。
上が Notepad3.exe で開き1とする
下が notepad++.exe で開き2とするです。
$app[1] = "D:\APL\Notepad3\Notepad3.exe"
$app[2] = "D:\APL\notepad++\notepad++.exe"
;追加する場合は [ ] を連番で使います。
$app[3] = "C:\APL\Hidemaru\Hidemaru.exe"
-----
次にファイル名にどの文字が入っていたらアプリ番号 ○○ で開くの設定。
以下を探します。
;指定の文字が含まれたら起動するアプリを分岐するの設定
指定の文字を 10個 以上登録する場合は
$name_max の数値を増やします。
;最大数 10個 まで、任意に増加が可能
$name_max = 10
次は以下を探します。
;ファイル名に Notepad3 という名前が含まれていれば 1 のアプリで起動
$name[0][0] = "1"
$name[1][0] = "Notepad3"
;ファイル名に notepad+ という名前が含まれていれば 2 のアプリで起動
$name[0][1] = "2"
$name[1][1] = "notepad+"
上の2行は Notepad3 という文字が含まれている場合は
アプリ番号1で開くの設定です。
下の2行は notepad+ という文字が含まれている場合は
アプリ番号2で開くの設定です。
括弧の数値が2つありますが設定を追加する場合は後ろの数値を
連番で増加します。
下に追加する場合は以下になります。
Data という文字が含まれている場合は
アプリ番号1で開くの設定です。
$name[0][2] = "1"
$name[1][2] = "Data"
書き換えは以上です、保存してください。
・書き換え時には設定値の前後の "" を忘れないでください。
・エラーの元なので設定数に余裕を与えておいてください。
( 10個設定するなら設定数を 15個 などに余裕をの意味です )
【 目次へ戻る 】
スクリプトを実行ファイルへ変換
上の .au3 ファイルを実行形式にして使用します。スクリプト形式のままだとファイルをドラッグできないので
使用は不可能なためであり必要です。
Autoit スクリプトの下準備 にて
ダウンロード、解凍したフォルダに Aut2Exe フォルダがあるので開き
Aut2exe_x64.exe ( Aut2exe.exe ) を実行します。
64bit が前者 / 32bit が後者、わからなかったら
前者から両方起動して起動した方でよい。
上の source という部分の入力する部分に
作った .au3 をドラッグすると値が入るので
下の ConVert ボタンで実行ファイルが作られます。
アイコンを書き換えたい場合は、作る前に
下の Custom Icon へアイコンファイルを同じくドラッグしてから
下の ConVert ボタン。
実行ファイルは .au3 のファイルと同じフォルダへ作られます。
見当たらなかったらそのフォルダを最前列にし
F5キー で更新してみてください。
【 目次へ戻る 】
使い方
上で作った実行ファイルにファイルをドラッグすれば指定した類の設定で分別してアプリで起動できるはずです。
ドラッグして使うもよし
特定の拡張子に関連づけして起動するもよし。
エラーが出る場合は、書き換えのどこかがおかしい。
何も書き換えていない状態でテキストファイルをドラッグし
メモ帳が開けば異常はないはずです。
設定を追加したなどで [ ] の中の数値が重複していたり
設定最大数より設定を書き込んでいないか
以下のような箇所で前後に "" がきちんとあるかです。
$app[0] = "notepad.exe"
一見不要な箇所でも必要な記号があるので不用意に書き換えないでください。
具体例では、先頭にある ; や Dim などの類を消したり
[""] を 何だこれで "" こう直してしまったりです。
*** ご注意 ***
ブログに書いてあることや
ブログに書いてあるスクリプトを使用する場合は
自己責任にてお願いいたします。
このブログの管理者 気ままさん は
ブログに書いてあること、ブログに書いてある
スクリプトを使用して発生した
すべての事柄において責任を負いません。
これに同意をいただけない方へのご使用は許可いたしかねます。
【 目次へ戻る 】
動画
動作状況の動画です。作ってみましたので宜しければどうぞ。
ChangeAppLoad.au3 v1.00
00:00:00 .au3 ファイルをメモ帳で開く
00:08:00 開くアプリを設定します
00:00:17 秀丸エディタの実行名を登録します
00:00:19 フォルダを開き実行ファイル名のフルパスを取得
00:00:33 秀丸エディタの実行名へ書き換えます
00:00:41 同じく EmEditor も同じ事をし登録します
00:01:14 どの文字が含まれているかで開くアプリを変化する設定を書き換え
00:01:22 ファイル名に 秀丸 の文字が含んだら 秀丸エディタ、番号1で開く
00:01:36 ファイル名に EmEditor の文字が含んだら EmEditor、番号2で開く
00:02:00 書き換えたら 保存 します
00:02:13 Autoit のスクリプト群の Aut2Exe\Aut2exe_x64.exe を実行
00:02:40 現れたウィンドウの上部に書き換えた .au3 ファイルをドラッグ
00:02:45 ConVert ボタンで実行ファイルが作られる
00:03:00 単体で起動すると $app[0] で指定したアプリが開きます
00:03:10 指定した文字以外のファイルも $app[0] で指定したアプリが開く
00:03:15 指定した文字、秀丸 の文字が含んだら 秀丸エディタ で開く
00:03:20 指定した文字、EmEditor の文字が含んだら EmEditor で開く
00:03:31 複数をドラッグしても同様です
00:03:49 関連付けの変更方法です
00:04:09 先ほど作った実行ファイルを選択
00:04:20 成功すると以降は作った実行ファイルで開きます
00:04:24 ダブルクリックで開くことができます
00:04:41 関連付けを戻します
00:04:52 今まで使っていたアプリを選択します
お疲れ様でした。
-----
とまあ、こんな感じで
ファイル名に特定の名前が入っていたら
それに関連したアプリで開く Autoit スクリプトでした。
興味本位で作ってみたので需要があるかどうかは不明ですが
まあ、置いておきますみたいな?
使うという人は間違いなくこだわり派でありましょうか。
それでは、皆様のアプリで開くの効率化が生まれますようにと
お祈りいたしましてこれにて終了。
以上。
おすすめリンク/関連記事
・Amazon / 楽天市場 / Yahoo! でお買い物をする。関連リンク
・Autoit3 Windowsの操作を自動化 使用方法/日本語化 ( HELPファイル )・Autoit3 | 気ままの簡易レビュー
- 関連記事
-
- Autoit スクリプト ( EXE ) にファイルをドラッグで関連付けされたアプリのフォルダを開くを実現 (2023/10/13)
- ファイル名に指定ファイル名が含まれていたら指定したアプリで開く Autoit スクリプト (2023/08/30)
- テンキーの長押しに任意のショートカットキーなどの機能を登録可能な Autoit スクリプト (2023/07/24)
- Win11 バッチファイルを管理/ウィンドウへファイルをドラッグでバッチを選択実行 Autoit スクリプト (2023/07/10)
- デスクトップにラインを引き左ダブルクリックで任意のフォルダを開く Autoit スクリプト (2023/05/12)
- キャプチャーするウィンドウの後ろに単色画面を出し余計な画面の映り込みを排除する Autoit スクリプト (2023/02/24)
- Everything search engine で拡張子ごとに開くアプリを指定する方法 (2023/02/15)
- 指定キー+マウスホイール上下で登録した作業を行う Autoit スクリプト (2023/01/23)
- ブラウザ上で文字を選択しホットキーで文字を検索 Autoit スクリプト Firefox Edge Vivaldi Chrome (2023/01/15)
- ブラウザでCTRL+Enterキー/指定キーを押し任意の検索サイトで検索をする Autoit スクリプト (2023/01/04)