2010-03-13 4 views
2

J'essaie de "cacher" une partie de mon programme Perl de l'utilisateur final pour rendre les choses plus faciles. Je fais ce que je peux pour les garder hors de l'invite de commande. Le programme lui-même a une interface graphique conçue en Perl/Tk, donc ils n'ont pas à s'inquiéter de l'invite de commande.Comment créer un raccourci pour un programme Perl sous Windows en utilisant un fichier batch?

ce que je pourrais écrire un fichier batch rapide qui va dans le sens de:

START perl 'C:\[some path here]\myscript.pl' 

avec START pour démarrer un programme, le interpretor Perl comme mon programme, et le chemin/nom de mon script Perl comme le paramètre?

Devrais-je spécifier où trouver perl ou est-ce que Windows le sait parce que perl se trouve dans la variable PATH de l'ordinateur?

Répondre

2

vous n'avez pas besoin de "démarrer" pour cela. soit ajoutez perl.exe à partir de votre chemin ou spécifiez le chemin d'accès complet à l'interpréteur Perl.

donc ... mettre ceci dans votre fichier batch:

c:\program files\perl.exe "c:\whatever\myscript.perl" 

-Don

2

Si l'idée est de les tenir à l'écart de la ligne de commande, pourquoi utiliser un fichier de commandes du tout? Pourquoi ne pas simplement créer un raccourci? (Vous pouvez utiliser Win32::Shortcut si vous ne voulez pas en faire un à la main.)

5

J'ai un script VBS et un fichier batch totalement mauvais pour faire face à ce genre de chose avec Strawberry Perl Portable. Le script VBS exécute le fichier de commandes sans engendrer une fenêtre cmd. Le fichier batch fonctionne où il est, où perl.exe est relatif et exécute le script perl. Dans ce cas, il s'agit d'exécuter un serveur Catalyst, mais peut également être utilisé pour n'importe quel autre.

est ici les vbs (frisson):

Set fso = CreateObject("Scripting.FileSystemObject") 
Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & fso.GetParentFolderName(wscript.ScriptFullName) & "\perlshell.bat"& Chr(34), 0 
Set WshShell = Nothing 

Et voici le script de traitement par lots (seulement un peu moins de frisson):

echo off 
set bindir=%~dp0 
set perlpath=%bindir%perl\bin 
set buildpath=%bindir%\bin 
set PATH=%PATH%;%perlpath%;%buildpath% 
"%perlpath%\wperl.exe" "%bindir%MyPhp\script\myphp_server.pl" -p 35900 
0

Il y a un moyen plus facile. Pour les fenêtres:

Go to the desktop -> right click -> create a shortcut 

rendre votre cible comme (le chemin vers le fichier perl.exe) quelque chose comme ce qui suit - je vais vous montrer ce que le mien ressemble

C:\Strawberry\perl\bin\perl.exe 

Dans mon cas J'ai Strawberry Perl installé

right click desktop shortcut -> click properties 

Dans la zone d'entrée cible, le modifier pour ressembler à quelque chose comme le mien:

C:\Strawberry\perl\bin\perl.exe D:\Developer\CustomTools\login.pl 

où login.pl est le chemin absolu à mon script perl

à partir de là, vous devriez avoir un raccourci créé pour permettre l'exécution d'un script Perl.

Si vous pourriez être intéressé: dans les propriétés PopUp vous pouvez également attribuer cette invocation du script perl à un bouton du clavier appuyez sur et lui attribuer une touche de raccourci pour lancer à tout moment^_^

Pour moi, J'ai choisi de faire:

ctrl+alt+i 

pour se connecter - pour appeler le script login.pl que j'ai écrit. soyez conscient des combinaisons de touches du système par défaut

Si vous avez des questions, faites le moi savoir!

Merci pour votre temps!

Questions connexes