|
|
|
|
Bonjour,
Je n'arrive pas à créer un lien hypertext qui appel un exécutable (putty.exe) mais en lui passant des arguments.
L'exemple ci-dessous fonctionne et ouvre le programme Putty :
=LIEN_HYPERTEXTE("E:\DownloadFirefox\putty.exe'";"host1")
Mais je n'arrive pas à lancer Putty avec un passage d'arguments comme ci-dessous :
=LIEN_HYPERTEXTE("E:\DownloadFirefox\putty.exe -ssh -P 22 admin@127.0.0.1 -pw pass";"host1")
Pouvez vous m'aider à constituer cette chaine ?
Je ne suis pas du tout familier avec les caractères spéciaux \ / ' ' " " [ ] ( )
Merci d'avance.
BZH
Bonjour,
|
Merci pour ta réponse Eric,
|
Bonjour,
|
function creerRaccourci( putty, nomFichierLien, cible )
{
var oShellLink = WshShell.CreateShortcut( nomFichierLien );
oShellLink.TargetPath = putty;
oShellLink.Arguments = "-load " + cible;
oShellLink.WindowStyle = 3;
oShellLink.IconLocation = putty + ", 0";
oShellLink.Save();
}
var fso = new ActiveXObject("Scripting.FileSystemObject");
fic = fso.GetFile( WScript.ScriptFullName );
// Suppression des raccourcis actuels
dest = fic.ParentFolder.Path + "\\X";
if( ! fso.FolderExists( dest ) )
{
fso.CreateFolder( dest );
}
f = fso.GetFolder( dest );
fc = new Enumerator( f.files );
for (; !fc.atEnd(); fc.moveNext())
{
x = fso.GetFile( fc.item() );
if( x.Path != WScript.ScriptFullName && x.Type == 'Raccourci' )
{
fso.DeleteFile( fc.item() );
}
}
// Lecture des sessions putty
HKCU = 0x80000001;
sRegPath = "Software\\SimonTatham\\PuTTY\\Sessions";
oLoc = new ActiveXObject("WbemScripting.SWbemLocator");
oSvc = oLoc.ConnectServer(null, "root\\default");
oReg = oSvc.Get("StdRegProv");
oMethod = oReg.Methods_.Item("EnumKey");
oInParam = oMethod.InParameters.SpawnInstance_();
oInParam.hDefKey = HKCU;
oInParam.sSubKeyName = sRegPath;
oOutParam = oReg.ExecMethod_(oMethod.Name, oInParam);
aNames = oOutParam.sNames.toArray();
//-------------------------------------------------------------
var WshShell = WScript.CreateObject("WScript.Shell");
s = "";
n = 0;
// Création des raccourcis
for (i = 0; i < aNames.length; i++)
{
aParts = aNames[i].split( "@" );
creerRaccourci( fic.ParentFolder.Path + "\\putty.exe", dest + "\\" + aParts[1] + " - " + aParts[0] + ".lnk", aNames[i] );
s = s + aParts[1] + " - " + aParts[0] + "\n";
n++;
}
WScript.Echo( s + "\n" + n + " Raccourcis créés dans : " + dest );
Installation / Utilisation Créer un fichier C:\PuTTY\CreatePuttyShortCuts.jse.jse contenant le code çi-dessus. Le chemin C:\PuTTY, n'est pas obligatoire, le script travail à partir de là où il se trouve. Le script va lire la base de registre et créer un raccourci pour chaque connexion trouvée. Les raccourcis sont créés dans un répertoire X, lui même situé au même emplacement que le script. Si putty.exe est présent dans le même répertoire que le script .jse, les raccourcis auront l'icone de putty. Si y'en a qui se pose, la question, c'est OUI, je me suis bien pris là tête ! |