Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Открыть новую тему     Написать ответ в эту тему

KLASS



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Старые и смежные темы: по CMD и в Программах | по PowerShell | В помощь системному администратору | Прикладное программирование

PowerShell
Версии | Ассоциация и подпись сценариев
Сценарий для ассоциации файлов PowerShell и запуска неподписанных скриптов.
 
Прочее
  • Если используете "белый список" в брандмауэре Windows, то для работы сценариев в сети необходимо создать 2 исходящих правила для svchost.exe и PowerShell.exe.
  • В отличие от батников, кодировка скриптов на PowerShell должна быть 1251 (ANSI). Начиная с версии PowerShell Core 6.0, кодировка по умолчанию UTF8NoBOM.
Расширение возможностей
Функции
Write-Color
Провайдеры
Готовые скрипты
Ошибки и предупреждения в журнале событий по электронной почте (в4.0)
Преобразование алиасов в скриптах к полным командам.
Получение детализированной информации из файлов.
Скачивание файлов по списку из файла .csv, ведение лога
 
Полезные ссылки | Будет ли репозиторий PowerShell на ru-board?

Cmd
Для перекодирования кирилицы 866<—>1251 пользуйтесь онлайн сервисом Перекодировщик кириллицы
 
Готовые решения и частые вопросы
 
Описания работы команд и символов участниками темы:
setlocal enabledelayedexpansion и переменные окружения
символы & и && в командной строке
Переменная %0
 
Полезные ссылки и утилиты

WSH (VBScript, JScript)
Программирование "удобняшек" на VBScript

Примечания:
• Большие куски кода заключайте в тэг [ more ]
• Чтобы не копировались концевые пробелы из форума, жмите на ссылку "Редактировать" в посте, и уже из редактора копируйте код без пробелов иначе сценарий может работать неправильно. Также для удаления концевых пробелов пользуйтесь скриптом от Nagual, или VBS-Скрипт-Модулем от ViSiToR.
• Сторонние консольные утилиты можно использовать только в виде готового решения и только в рамках сценариев. Никаких обсуждений и обучений работе с утилитами не предусмотрено и прямо запрещено правилами топика.
Шапка и около-темные вопросы |

Всего записей: 7398 | Зарегистр. 12-10-2001 | Отправлено: 13:40 17-02-2018 | Исправлено: YuS_2, 13:48 16-10-2018
HandyCache

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RetroRocket
Не работает.
c:\>echo Converting 1.mp4 ...
Converting 1.mp4 ...
c:\>echo.
c:\>for /F "delims=" %f in (1.mp4) do c:\lame\lame.exe --preset radio "%f"
Не удается найти файл 1.mp4.
c:\>if 9009 NEQ 0 goto errormark
c:\>echo ERROR processing 1.mp4
ERROR processing 1.mp4
В параметрах кнопки пробовал %S и %P%S

Всего записей: 81 | Зарегистр. 09-10-2008 | Отправлено: 19:49 10-05-2018
RetroRocket



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HandyCache
Как точно у вас файл называется, который вы конвертируете?  
1.mp4 или как?

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 616 | Зарегистр. 02-01-2018 | Отправлено: 20:07 10-05-2018
irsemi

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RetroRocket
Ну вот, у HandyCache вылезло то, о чем я писал в конце предыдущего сообщения.

Всего записей: 86 | Зарегистр. 28-11-2016 | Отправлено: 20:22 10-05-2018
HandyCache

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RetroRocket
На любом название файлов, у меня одинаковый результат.

Всего записей: 81 | Зарегистр. 09-10-2008 | Отправлено: 20:24 10-05-2018
irsemi

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RetroRocket
Я же месяц назад использовал такую команду именно для перебора файла-списка.  
Вроде с тех пор ещё ничего не изменилось.
 

Цитата:
Почему список то?


Код:
for /?

 
HandyCache
Замените в батнике

Код:
for /F "delims=" %%f in (%1) do %thecmd% "%%f"

на

Код:
%thecmd% %1

Должно помочь

Всего записей: 86 | Зарегистр. 28-11-2016 | Отправлено: 20:25 10-05-2018 | Исправлено: irsemi, 20:35 10-05-2018
RetroRocket



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
irsemi
Цитата:
такую команду именно для перебора файла-списка
Так то да. Просто у меня при наличии имён файлов в кавычках срабатывал вот этот вариант из справки -
Код:
FOR /F ["options"] %variable IN ("literal string") DO command [command-parameters]

Имя файла в скобках обрабатывалось как текстовая строка literal string, а не как файл со списком.
Но в любом случае, предложенный вами вариант выглядит проще и логичнее.
Вроде срабатывает правильно на файлах и с пробелами в именах, и без них.
Лог выполнения в режиме echo on.
Спасибо за поправку.

----------
"... Зовёт, зовёт в дорогу далёкий Млечный Путь ..."

Всего записей: 616 | Зарегистр. 02-01-2018 | Отправлено: 20:54 10-05-2018
HandyCache

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
irsemi
Теперь
Warning: unsupported audio format
но работает на mp3 файлах, на mp4, m4a нет.

Всего записей: 81 | Зарегистр. 09-10-2008 | Отправлено: 21:00 10-05-2018
irsemi

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
HandyCache

Цитата:
Warning: unsupported audio format  
но работает на mp3 файлах, на mp4, m4a нет.  

А чего вы хотели от lame? Он ведь mp4 и не должен читать.
Пробуйте другие программы, например ffmpeg.

Всего записей: 86 | Зарегистр. 28-11-2016 | Отправлено: 21:23 10-05-2018
immotus



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
Вопрос похожий, но нет, мне не нужно переносить весь профиль, а столько те папки которые видны (данные приложений пусть остаются). Во-вторых варианты со сторонним доступом (LiveCD) и использованием дополнительно ПО (типа robocopy) тоже не рассматриваю. Есть же вариант тупо поменять нужные данные в реестре через bat'ник?

Всего записей: 1277 | Зарегистр. 27-07-2007 | Отправлено: 18:52 12-05-2018 | Исправлено: immotus, 18:52 12-05-2018
BorlandIMHO

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
immotus

Цитата:
дополнительно ПО (типа robocopy)

Начиная с Vista оно не дополнительное, а самое что ни на есть штатное. Как и mklink.
А сделать универсальный батник, который будет правильно работать и под 2000/XP, и под более новыми ОС - не то, чтобы невозможно, но проблематично (в силу существенных различий в структуре пользовательских каталогов).

Цитата:
Есть же вариант тупо поменять нужные данные в реестре через bat'ник?
Есть, как не быть. Только в NT6.x кроме собственно папок широко используются ещё и ссылки на них (точнее говоря - связи каталогов,  directory junction). Т.е. кроме внесения изменений в реестр всё равно придётся править связи типа "Мои документы", и что самое в этом неприятное - такие связи имеют локалезависимые имена. Т.е. придётся ещё и учитывать кучу вариантов наименования связей.
Вариант "перенести папку и создать на её месте связь на перенесённое" как раз позволяет обойтись без правки остальных связей и реестра, т.е. обойтись без кучи лишнего геморроя...
 


----------
http://www.imho.ws

Всего записей: 952 | Зарегистр. 12-10-2006 | Отправлено: 03:51 13-05-2018
shva

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу помочь разобраться в след. ситуации с русской кодировкой.
Пытаюсь оформить в виде библиотеки некий набор функций.
в mylib.ps1 находится след. функция:
Function Pause {
  param ($message = 'Для продолжения нажмите любую клавишу')
  $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")|out-null
}
 
Из prim.ps1 выполняется дотсорсинг  . .\mylib.ps1
И даже без вызова функции получаю отлуп в виде сообщения об ошибке
 
C:\shedul\swiftControl>powershell .\prim.ps1
At C:\shedul\swiftControl\mylibkoi8.ps1:5 char:64
+ ... param ($message = 'Для продолжения нажмите люР...
+                                                                  ~
Missing ')' in function parameter list.
At C:\shedul\swiftControl\mylibkoi8.ps1:5 char:92
+ ... »СЏ продолжения нажмите любую клавишу')
+                                                                        ~~
The string is missing the terminator: '.
At C:\shedul\swiftControl\mylibkoi8.ps1:4 char:16
+ Function Pause {
+                ~
Missing closing '}' in statement block or type definition.
    + CategoryInfo          : ParserError: ( [], ParseException
    + FullyQualifiedErrorId : MissingEndParenthesisInFunctionParameterList
 
Оба ps1 в кодировке KOI8
 

Всего записей: 11 | Зарегистр. 19-12-2006 | Отправлено: 16:17 16-05-2018 | Исправлено: shva, 16:28 16-05-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shva

Цитата:
Оба ps1 в кодировке KOI8

Найдите того советчика, который посоветовал так сделать и дайте ему ... пендаль за вранье.
В общем, читайте шапки, там много чего есть...
 
Добавлено:

Цитата:
Пытаюсь оформить в виде библиотеки некий набор функций.

И это, а профили чем не подходят?

Всего записей: 2046 | Зарегистр. 03-02-2009 | Отправлено: 18:24 16-05-2018
shva

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2
Пендали мне придется раздавать самому себе.
Все-же, если не затруднит, поясните за что пендаль?
Имеется ли в виду фраза из шапки "В отличие от батников кодировка скриптов на PowerShell должна быть 1251 (ANSI)"?
В эту же библиотечку предполагается разместить функцию построения меню с использованием псевдографики. Отсюда и выбор кодировки.

Всего записей: 11 | Зарегистр. 19-12-2006 | Отправлено: 11:22 17-05-2018
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shva

Цитата:
за что пендаль?

Предполагалось, что тот, кто посоветовал такую кодировку - нехорошо пошутил
 

Цитата:
Имеется ли в виду фраза из шапки

Именно. Её ведь туда не просто так поместили.
 

Цитата:
Отсюда и выбор кодировки.

Произвольная кодировка у скриптов не допускается. Подгружать данные из внешних файлов в других кодировках - это пожалуйста.
 
ЗЫ Нет, естественно, кодировка поддерживается не только та, которая указана в шапке, но для того, чтобы избежать проблем с кириллическими символами, лучше придерживаться этой рекомендации.
А так, можно использовать хоть 12000|12001 (LE|BE UTF32), хоть 1200|1201 (LE|BE UTF16), хоть UTF-8 (но обязательно с BOM), но вот KOI8 в числе поддерживаемых нет...

Всего записей: 2046 | Зарегистр. 03-02-2009 | Отправлено: 11:40 17-05-2018 | Исправлено: YuS_2, 12:23 17-05-2018
andzhej10



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Задача: нужно на ОС Windows Server 2008 проверять залогирован ли в системе некий пользователь, если нет - то нужно его залогинить. Кто такое делал и как? Права админа есть.

Всего записей: 96 | Зарегистр. 07-09-2010 | Отправлено: 12:19 21-05-2018
radeonuser

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос.
Интересует способ командой/батником/скриптом переключить язык расладки клавиатуры, на заданный. Спрашивал всезнающий гугл, но нормального решения не нашел.

Всего записей: 101 | Зарегистр. 09-05-2018 | Отправлено: 12:57 21-05-2018
BorlandIMHO

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
radeonuser

Цитата:
командой/батником/скриптом переключить язык расладки клавиатуры, на заданный. Спрашивал всезнающий гугл, но нормального решения не нашел.

Ибо вопрос поставлен некорректно...
В Windows раскладка окна переключается по-отдельности для каждого приложения. Вам нужно переключить раскладку в консоли, в которой выполняется батник, или для другого приложения в системе? В каком конкретно приложении?
В любом случае, насколько я представляю, придётся "звать" внешний скрипт на VBS или что-то вроде AutoIt для того, чтобы послать окну сочетание клавиш, переключающее раскладку...
 
andzhej10
Проверить, залогинен ли пользователь на сервере - не проблема. А вот осуществить логин пользователя скриптом - нереально. В принципе. Разве что включить автовход для данного пользователя и перезагрузить сервер, но тогда вход под данным пользователем будет автоматически осуществляться при каждом включении/перезагрузке сервера. Как включить автоматический вход в систему в Windows 7 и Windows Server 2008
Включение автоматического входа в систему на компьютере с Windows.

----------
http://www.imho.ws

Всего записей: 952 | Зарегистр. 12-10-2006 | Отправлено: 17:52 21-05-2018
radeonuser

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
 
Задача такая.
Есть в системе 2 языка "Русский" и "Английский". Они настроены по переключению "Ctrl+Shift". Очень редко, приходится писать на третьем языке, например "Белорусском". Но добавлять 3 языка не хочется, очень неудобно переключаться, куча лишних "Ctrl+Shift". Хочется, чтобы был батник/скрипт/программа которую можно повесить на горячую клавишу, например "Alt+B" и по нажатию которой, батник/скрипт/программа запустился и переключил раскладку из любого языка сразу на "Белорусский". А по "Ctrl+Shift" дальше будут продолжать переключаться только "Русский" - "Английский".

Всего записей: 101 | Зарегистр. 09-05-2018 | Отправлено: 18:44 21-05-2018
andzhej10



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
BorlandIMHO

Цитата:
А вот осуществить логин пользователя скриптом - нереально. В принципе. Разве что включить автовход для данного пользователя и перезагрузить сервер, но тогда вход под данным пользователем будет автоматически осуществляться при каждом включении/перезагрузке сервера. Как включить автоматический вход в систему в Windows 7 и Windows Server 2008  
Включение автоматического входа в систему на компьютере с Windows.

не подходит такой вариант. Нужно, чтоб при перезагрузки/включения сервера данный пользователь програмно залогинивался, а другие пользователи интерактивно.

Цитата:
А вот осуществить логин пользователя скриптом - нереально.

понял, жаль, думал батником можно...
 
 
 
 
Добавлено:
BorlandIMHO

Цитата:
Проверить, залогинен ли пользователь на сервере - не проблема.

как проверить?

Всего записей: 96 | Зарегистр. 07-09-2010 | Отправлено: 11:38 22-05-2018
BorlandIMHO

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andzhej10

Цитата:
как проверить?

Ну, к примеру, штатной утилиткой quser

Код:
1>nul 2>&1 quser Пользователь [/server:ServerName] && echo Logged on || echo Not logged on

 
Добавлено:
radeonuser

Цитата:
 Но добавлять 3 языка не хочется

Переключиться на раскладку, которая не добавлена - не удастся в принципе. Т.е. вообще никак.

----------
http://www.imho.ws

Всего записей: 952 | Зарегистр. 12-10-2006 | Отправлено: 12:46 22-05-2018 | Исправлено: BorlandIMHO, 12:53 22-05-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии Windows

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru