0

多くの場合、拡張子に基づいてファイルを自動的に実行する必要があります。AUTOITでできると思います。誰かが私にこれを指示してもらえますか?

これは、拡張機能を取得するのに役立ちました。

$parts = StringSplit($file,"\.",0)
$ext = $parts[$parts[0]]
$filename = $parts[$parts[0] - 1] 

では、条件付き実行をどのように設定しますか?

4

2 に答える 2

2

拡張機能の比較

さまざまな拡張機能と比較したい場合、最も簡単な方法はswitch ステートメントです。

Switch $ext
    Case "txt"
        ; What to do with text files
    Case "htm", "html"
        ; Example of matching more than one extension
    Case Else
        ; Extension wasn't any of the above
EndSwitch

シェルにファイルを実行させる

あなたが実際にやりたいと思っていることは、ファイルを実行するのに最適なプログラムは何かをコンピューターに判断させることです。この情報は拡張子 (HKEY_CLASSES_ROOT) と共にレジストリに格納されますが、 ShellExecuteという特別な関数が提供されているため、その情報を知る必要はありません。これは、拡張子を使用して、ファイルのデフォルト ハンドラーを実行します (特定の「動詞」を使用するオプション付き)。例えば:

ShellExecute("C:\Test.txt")
于 2012-04-23T17:24:25.037 に答える
0

ShellExecute は、一連の Switch ステートメントを実行するよりもうまく機能しませんか? ファイル拡張子に対してファイルの関連付けが設定されている場合、ShellExecute はその拡張子の既定のプログラムを自動的に開きます。

特定のプログラムを実行しようとしている場合を除き、それはファイル タイプのデフォルトとして設定されていません。たとえば、IE が HTML ファイルのデフォルト プログラムであるのに対し、HTML ファイルで Chrome を実行するなど、多くのプログラムは必要ありません。余分な条件ステートメント作業。

于 2012-05-08T22:10:58.520 に答える