新しいWindows 10 PCにActiveState Perlをインストールしました。私は自分のPCのいくつかにPerlと同じバージョンのPerlをインストールしました。それは私の会社の他のユーザーのPCの100台にインストールされています。私が作ったのと同じ正確なインストール。Windows 10のPerlスクリプトはエクスプローラから起動しますが、コマンドプロンプトは実行しません
Windows 10で初めてこれを試してみます。エクスプローラでPerlスクリプト(* .pl)をダブルクリックすると、コンソールウィンドウが開き、Perlがスクリプトを実行します。
また、Windowsのコマンドプロンプトでは、perl.exe script.pl
と入力するとスクリプトが正常に実行されます。しかし、script.pl
と入力しても何も起こりません。出力なし、エラーなし、タスクマネージャで表示されるperl.exeプロセスなし。
初めてPerlスクリプトを実行したとき(Windowsコマンドプロンプトから、script.pl
という構文を使用していると思います)、Windowsはこのファイルを開くためにどのプログラムを使用するかを尋ねるウィンドウを表示しました。 Perlがデフォルトで、OKをクリックしました。
私はWindows 7または8のウィンドウを見たことがないので、Windows 10に固有のものだと思っています。それで、ちょうどscript.pl
と入力するのをやめてしまうのです。 script.pl
を起動すると、適切なプログラムを選択するためにファイルの関連付けが必要ですが、perl.exe script.pl
と入力すると、perl.exeが直接起動されます。しかし、Windows 10は、 "あなたのデフォルトプログラムを選ぶ"ことは、コマンドプロンプトからファイルの関連付けを台無しにして実行している途中で起こっている。
なぜExplorerで動作するのかわからないが、私はそのデフォルトプログラムのことをクリアする必要があると確信している。私はのファイルをHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
の下にあるレジストリエントリを削除しましたが、それは役に立ちませんでした。
これはWindows 10でのより一般的な問題、またはおそらく私のインストール、または私が気づいていないグループポリシーのようです。
次のコマンドは、(管理者コマンドプロンプトで実行)は、Windows 10のWindows 8.1で罰金ではなく、仕事:
assoc .foo=Foobar
ftype Foobar=C:\WINDOWS\system32\foo.bat %1
echo @echo off > foo.bat
echo echo The filename is %1 >> foo.bat
echo hi > foo.foo
foo.foo
結果を出力する必要があります:
The filename is C:\WINDOWS\system32\foo.foo
が、Windows 10はありません何もない。これは組み込みのアプリケーションをダウンロード/インストールされたEXEのBATスクリプトではなく、この方法で関連付けることしかできないようです。
我々は '' script.pl'が正常に動作し始める使用script.pl' –
を開始使用している場合に起こる何。 – jimtut
Perl 5.20.2をアンインストールし、最新の(5.24.0)をインストールしましたが、変更はありません。また、perl.exeの代わりにnotepad.exeを開くようにレジストリのコマンドを変更しました。これはDOS( 'script.pl')から正しく動作します。 perl.exeを呼び出すアソシエーションで何かが混乱しているようですが、エクスプローラではなくDOSからしかありません。何とかwperl.exeを呼び出すことは可能でしょうか?しかし、レジストリでそれを見つけることができません... – jimtut