Perl-Skripte unter Windows 10 werden über den Explorer ausgeführt, jedoch nicht über die Eingabeaufforderung

Ich habe ActiveState Perl auf meinem neuen Windows 10-PC installiert. Ich habe die gleiche exakte Version von Perl auf mehreren meiner eigenen PCs installiert, und sie ist auf Hunderten von PCs anderer Benutzer in meinem Unternehmen installiert. Gleiche exakte Installation, erstellt von mir.

Dies ist das erste Mal, dass Sie dies unter Windows 10 versuchen. Die grundlegenden Aktionen beim Doppelklicken auf ein Perl-Skript (* .pl) im Explorer führen dazu, dass ein Konsolenfenster geöffnet und Perl das Skript ausführt.

Auch in der Windows-Eingabeaufforderung kann ich @ eingebperl.exe script.pl, und das Skript läuft gut. Aber wenn ich nur @ eingescript.pl, nichts passiert. Keine Ausgabe, keine Fehler, keine perl.exe-Prozesse im Task-Manager sichtbar.

Das erste Mal, dass ich ein Perl-Skript ausführte (ich glaube, über die Windows-Eingabeaufforderung mit demscript.pl syntax), Windows öffnete ein Fenster und fragte mich, mit welchem Programm ich diese Datei öffnen wollte. Perl war die Standardeinstellung, und ich habe auf OK geklickt.

Ich habe dieses Fenster in Windows 7 oder 8 noch nie gesehen, daher denke ich, dass es etwas spezielles für Windows 10 ist und dass es das ist, was mich irgendwie davon abhält, nur @ einzugebescript.pl. Denn beim Start vonscript.pl, Ich benötige die Dateizuordnungen, um das richtige Programm auszuwählen, aber wenn ich @ eingeperl.exe script.pl, perl.exe wird direkt gestartet. Das Problem, dass Windows 10 "Wählen Sie Ihr Standardprogramm" beim Ausführen über die Eingabeaufforderung verursacht, besteht darin, dass die Dateizuordnungen durcheinander gebracht werden.

Nicht 100% sicher, warum es im Explorer funktioniert, aber ich bin mir ziemlich sicher, dass ich dieses Standardprogramm löschen muss. Ich habe den Registrierungseintrag für @ entfer.pl Dateien unterHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts, aber das hat nicht geholfen.

Dies scheint ein allgemeineres Problem mit Windows 10 oder möglicherweise nur meiner Installation oder einer mir nicht bekannten Gruppenrichtlinie zu sein.

Die folgenden Befehle (an einer Admin-Eingabeaufforderung ausgeführt) funktionieren in Windows 8.1, jedoch nicht in Windows 10:

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

Das Ergebnis sollte die Ausgabe sein:

The filename is C:\WINDOWS\system32\foo.foo

Aber Windows 10 macht nichts. Es scheint nur zuzulassen, dass integrierte Apps auf diese Weise verknüpft werden, und keine BAT-Skripte von heruntergeladenen / installierten EXE-Dateien.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage