2010-06-14 5 views
1

Y at-il un moyen de changer le titre cmd? J'ai écrit un programme vbs. Mais le titre dos est mauvais.Modifier le titre de la console avec vbscript

nom ist c: \ windows \ system32 \ cscript.exe j'essayer avec:

titre the_name et title = "nom"

Mais les deux ne marche.

Merci pour votre aide.

Répondre

3

Malheureusement vous cannot do that à partir du script en utilisant l'un des objets WSH. La seule façon de le faire est de lancer le script via un intermédiaire (un .bat en utilisant la commande TITLE ou un autre script en utilisant un argument% comspec%).

0

Avez-vous besoin de le changer dans le code ou voulez-vous juste qu'il soit plus joli? Vous pouvez éventuellement le faire en créant un raccourci vers votre script, puis en changeant le nom du raccourci (dans les propriétés du raccourci, passez à l'onglet General et changez le nom ici).

+0

est, je vais ouvrir mon script plus d'une fois et à chaque fois il est c: \ windows \ system32 \ cscript.exe ...que j'ai 5 fenêtres ouvertes et que je ne sais pas quelle fenêtre est juste celle que je peux fermer ... j'espère que vous me comprenez ... sry pour mon anglais ^^ – Sebastian

+0

@matthias: Je ne sais pas alors je ' j'ai peur. –

+0

ok merci. Peut-être quelqu'un peut me aider :-) – Sebastian

4

@AlexK Le lien que vous pointez montre réellement comment vous pouvez changer le titre de la fenêtre de commande, donc je ne sais pas pourquoi cela ne fonctionne pas comme une solution au problème de Matthias.

@Matthias - puisque vous utilisez déjà cscript vous avez deux options:

  1. Vous pouvez créer un script parent qui ouvre plusieurs fenêtres avec des titres uniques comme ceci:

    var x = new ActiveXObject("WScript.shell"); 

    for (var i=0; i < 5; i++) { 
     x.run('cmd title your title ' + i + '| cscript.exe "params"'); 
    } 

ou simplement que le script parent exécute un script enfant mais demande le titre avant d'exécuter la commande cscript comme ceci:


    var x = new ActiveXObject("WScript.shell"); 
     x.run('cmd title your title ' + 
      WScript.StdIn.ReadLine() + 
      '| cscript.exe "script path and params"'); 
  1. Vous pouvez également utiliser le « start » commande à partir d'une invite de commande existante, et il suffit de changer la valeur du titre à chaque fois que vous exécutez le script
c:\>start "your title" cscript script_path.vbs
  1. Ou vous pouvez utiliser la Windows API pour modifier le titre par programmation en utilisant un objet ActiveX personnalisé. Ceci est certainement un peu plus en profondeur d'une solution, mais vous pouvez créer un objet activex en utilisant C# qui peut faire des appels à l'API Windows, et exécuter la fonction C# à partir de vbscript en utilisant COM. Vous devez utiliser les appels api findWindow et SetWindowText pour modifier le titre de la fenêtre CMD.

Vérifiez le projet IEUnit, en particulier l'objet Win32Dom activex. C'est un bon projet car il résout les questions "comment créer un objet C# activex" et "comment appeler l'api win32" que vous pourriez avoir pour cette option. Et il a déjà trouvé la partie findWindow pour vous.

http://code.google.com/p/ieunit/source/browse/#svn%2Ftrunk%2Ftool%2FWin32Dom

problème
Questions connexes