Изменить заголовок консоли с помощью VBScript - PullRequest
1 голос
/ 14 июня 2010

есть ли способ изменить заголовок cmd?Я написал программу VBS.Но название DOS плохое.

Имя ist c: \ windows \ system32 \ cscript.exe Я пробую его с:

title the_name и title = "name"

Но оба не работают.

Спасибо за помощь.

Ответы [ 3 ]

4 голосов
/ 15 февраля 2011

@ AlexK Ссылка, на которую вы указываете, фактически показывает, как вы МОЖЕТЕ изменить заголовок командного окна, поэтому я не уверен, почему это не работает как решение проблемы Матиаса.

@ Matthias - поскольку вы уже используете cscript, у вас есть несколько вариантов:

  1. Вы можете создать родительский скрипт, который открывает несколько окон с уникальными заголовками, например:

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

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

или просто заставьте родительский сценарий выполнить один дочерний сценарий, но запросите заголовок, прежде чем он выполнит команду cscript следующим образом:


  var x = new ActiveXObject("WScript.shell");
      x.run('cmd title your title ' + 
            WScript.StdIn.ReadLine() + 
            '| cscript.exe "script path and params"');
  
  1. Вы также можете использовать команду «Пуск» из существующей командной строки и просто изменять значение заголовка при каждом запуске сценария
c:\>start "your title" cscript script_path.vbs
  1. Или вы можете использовать windows api для программного изменения заголовка, используя пользовательский объект activex. Это определенно немного более глубокое решение, но вы можете создать объект activex, используя C #, который может делать вызовы к api windows, и выполнять функцию C # из vbscript, используя COM. Вы захотите использовать API-вызовы findWindow и SetWindowText, чтобы изменить заголовок окна CMD.

Проверьте проект IEUnit, в частности, объект activex Win32Dom. Это хороший проект, с которого нужно начинать, потому что он решает вопросы «как создать объект c # activex» и «как вызвать win32 api», которые могут у вас возникнуть для этой опции. И в нем уже есть часть findWindow.

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

3 голосов
/ 14 июня 2010

К сожалению, вы не можете сделать это из скрипта, используя любой из объектов WSH.

Единственный способ сделать это - запустить скрипт через посредника (.bat с помощью команды TITLE или другой скрипт с аргументом% comspec%).

0 голосов
/ 14 июня 2010

Вам нужно изменить это в коде или вы хотите, чтобы это выглядело немного лучше? Вы могли бы сделать это, создав ярлык для своего скрипта, а затем изменив имя ярлыка (в свойствах ярлыка перейдите на вкладку General и измените имя там).

...