Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - MODE и Scrolling

Ответить
Настройки темы
CMD/BAT - MODE и Scrolling

Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


Поискал, что-то не нашел...
использую в *.BAT обычный "мод"
Код: Выделить весь код
MODE CON COLS=80 LINES=30
Но при таком "раскладе" пропадает вертикальная прокрутка, а выполнение команд хочется отслеживать...
Как учесть этот факт? поделитесь опытом?

Отправлено: 09:11, 26-11-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Instant_SR:
использую »
Не используйте. Или заведите себе «tee.exe». Или напишите свой аналог «mode», реализующий потребное поведение.

Отправлено: 10:51, 26-11-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Instant_SR, В PowerShell решается просто:
Код: Выделить весь код
$a = $host.ui.rawui.buffersize
$a.height = 150 # кол-во строк в буфере консольного окна
$host.ui.rawui.buffersize = $a
В cmd.exe можно выполнить:
Код: Выделить весь код
powershell -c "$a=$host.ui.rawui.buffersize;$a.height=250;$host.ui.rawui.buffersize=$a"

Последний раз редактировалось Foreigner, 26-11-2013 в 21:48.


Отправлено: 21:21, 26-11-2013 | #3


Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


PS - не используется, сторонний софт тоже не годится. Еще варианты? Если не использовать MODE тогда какими методами можно контролировать размеры окна?

Отправлено: 12:35, 27-11-2013 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Instant_SR:
PS - не используется, сторонний софт тоже не годится. Еще варианты? »
Свистеть . Ни у пакетных файлов, ни у WSH нет прямого доступа ни к консольным функциям WinAPI, ни к консольным функциям .Net.

Кстати, а почему такое отвращение к стороннему ПО? Возьмите банальный код:
Код: Выделить весь код
Module MainModule
  Public Sub Main()
    Console.WindowWidth  = 80
    Console.WindowHeight = 30
    Console.SetBufferSize(80, 9000)
  End Sub
End Module
Найдите в «%SystemRoot%\Microsoft.NET\Framework» в одной из папок с именем от «v2.0.XXX» и выше файл «vbc.exe», скомпилируйте исполняемый файл и пользуйте.

Отправлено: 22:46, 27-11-2013 | #5


Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


данный вариант для меня чуть сложноват, плюс, насколько я могу судить с первого взгляда, данный способ помогает решить задачу локально на моей машине, меня же интересует, клиентсая часть - т.е. пользователи по ссылке обращаются к моем у.bat файлу из сети и если у них не будет компиляции, то они увидят обычный вид командной строки. Подиму тему...

Отправлено: 17:25, 02-12-2013 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Instant_SR:
т.е. пользователи по ссылке обращаются к моем у.bat файлу из сети и если у них не будет компиляции, »
Что неясно из:
Цитата Iska:
скомпилируйте исполняемый файл и пользуйте. »
? Коль они обращаются к Вашему пакетному файлу по сети, надо полагать, Вы разрешили на клиентских машинах использование UNC-путей в качестве текущего каталога:
читать дальше »
Код: Выделить весь код
   [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
   "DisableUNCCheck":REG_DWORD
   (применительно только к NT4/2k/XP/2003/Vista/2008 и cmd.exe)
   CMD.EXE по умолчанию  не  поддерживает  UNC-пути.  Если  FAR  попытаться
   выполнить команду командного процессора, в случае, если текущий  путь  -
   UNC, то в консоль выводится информация:

   "Указанный путь был использован при запуске CMD.EXE в  качестве  текущей
   папки. CMD.EXE не поддерживает пути UNC. По умолчанию выбрана  системная
   папка Windows. Ошибка в синтаксисе команды."

   CMD.EXE был запущен с указанием  '\\server\share'  в  качестве  текущего
   каталога. Пути  UNC  не  поддерживаются.  По  умолчанию  выбран  каталог
   Windows.

   "CMD.EXE was started with the above path as the current  directory.  UNC
   paths are not supported. Defaulting to Windows directory."

   (выводимая информация может отличаться в NT4/W2k/XP/2003/Vista/2008)

   Параметр  "DisableUNCCheck"  позволяет  решить  эту  проблему.  Значение
   параметра может быть одним из следующих:
     0 - выводить предупреждающее сообщение и устанавливать текущий путь
         равный системной папке Windows.
     1 - не выводить предупреждающее сообщение и пытаться выставить текущий
         путь равный UNC пути.

   По умолчанию в Windows параметр равен 0.
   Рекомендуемое значение 1.
(Cmd.exe does not support UNC names as the current directory)

? Вот и положите скомпилированный файл рядышком с Вашим пакетным файлом и ссылайтесь на него из этого пакетного файла по относительной ссылке.

Последний раз редактировалось Iska, 02-12-2013 в 18:32.


Отправлено: 18:24, 02-12-2013 | #7


Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


UNC пути не используются, данное сообщение выводится, иногда, правда... Обращал внимание, при выполнении некоторых (сторонних) скриптов при работе от имени пользователей...
Попробую, скомплировать данный текст, но есть несколько вопросов:
1 - формат в котором сохранить текст?
2 - синтаксис для компиляции?

Отправлено: 19:21, 02-12-2013 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Instant_SR:
данное сообщение выводится, иногда, правда... »
Выводится всегда при попытке запуска с UNC-ресурса или попытке сделать UNC-ресурс текущим каталогом.


Цитата Instant_SR:
Попробую, скомплировать данный текст, но есть несколько вопросов:
1 - формат в котором сохранить текст?
2 - синтаксис для компиляции? »
1. Хоть в ANSI/1251, хоть в Unicode LE. Расширение файла — «.vb».
2.
Код: Выделить весь код
"путь\vbc.exe" "путь\Имя файла.vb"
В текущем каталоге том же каталоге, где находится файл с исходным текстом, будет создан одноимённый с Имя файла исполняемый CUI-файл. Например:
Код: Выделить весь код
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc.exe" "E:\Песочница\0334\0001.vb"

Последний раз редактировалось Iska, 02-12-2013 в 19:59. Причина: Исправлена ошибка

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:43, 02-12-2013 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - MODE и Scrolling

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - [решено] Чёрный экран и плавающая заставка "Not Optimum Mode Recommended Mode 1280-1024" juripon Microsoft Windows 2000/XP 6 22-04-2011 00:33
Драйвер - Не работает ускоренная покрутка (accelerated scrolling). mmx358 Microsoft Windows 7 9 08-05-2010 01:16
Установка - XP Mode Matters Microsoft Windows 7 3 14-01-2010 10:42
Драйвер - Как поменять настройки дисплея для normal mode из save mode? aeren Microsoft Windows Vista 6 03-07-2009 11:46
Safe Mode bobiks Хочу все знать 19 27-01-2004 23:15




 
Переход