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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192

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

KLASS



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

PowerShell
Версии | Ассоциация и подпись сценариев
Сценарий для ассоциации файлов PowerShell и запуска неподписанных скриптов.
 
Прочее
Расширение возможностей
Функции
Write-Color
Output-DebugString
Провайдеры
Готовые скрипты
Полезные ссылки | Будет ли репозиторий PowerShell на ru-board?
Книги в PDF
Cheat Sheets
 

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

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

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

Всего записей: 9665 | Зарегистр. 12-10-2001 | Отправлено: 13:40 17-02-2018 | Исправлено: YuS 2, 08:24 19-06-2021
RL200t

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ipmanyak
То есть абсолютно все изменения в групповой политике сохраняются в реестре? (Домена нет.)

Всего записей: 752 | Зарегистр. 06-10-2018 | Отправлено: 23:49 31-10-2020
iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RL200t
Цитата:
gpedit.msc
--Конфигурация компьютера
---Административные шаблоны
----Компоненты Windows
-----Центр обновления Windows
------Включить: «Указать размещение службы обновлений Майкрософт в интрасети» и во всех трёх текстовых полях прописать «localhost».
 
Как сделать это скриптом? Чтобы я просто скрипт на исполнение запустил и была произведена эта настройка?

 
Работа с записями реестра - PowerShell | Microsoft Docs
документация по политике: Управление дополнительными параметрами Центра обновления Windows (Windows 10) - Windows Deployment | Microsoft Docs
еще документация по политике: Указать размещение службы обновлений Майкрософт в интрасети
 

Всего записей: 3004 | Зарегистр. 16-08-2012 | Отправлено: 08:46 01-11-2020
0utcast



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
доброго времени суток
 
помогите пожалуйста с форматированием
вот в скрипте cmd есть такая запись:
%TEST:"=%
я так понимаю, что символы "= после : что-то убирают, но что, никак не пойму
 
подскажите,
и если можно, где самому почитать примеры такого форматирования и их операторов
 
спасибо

Всего записей: 306 | Зарегистр. 08-07-2011 | Отправлено: 11:00 03-11-2020
KiloSub



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0utcast Ссылка

Всего записей: 359 | Зарегистр. 30-05-2020 | Отправлено: 11:10 03-11-2020
0utcast



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KiloSub
благодарю, разобрался
 
 
а что вот означает такая конструкция:
SET ONESTR=== 0
что за === и для чего пробел перед 0
 
спасибо

Всего записей: 306 | Зарегистр. 08-07-2011 | Отправлено: 12:27 03-11-2020
GCRaistlin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0utcast
Она означает: присвоить переменной ONESTR значение == 0.

----------
Magically yours
Raistlin

Всего записей: 3052 | Зарегистр. 18-04-2005 | Отправлено: 12:32 03-11-2020
KiloSub



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
0utcast, я сделал:
SET ONESTR=== 0
echo %ONESTR%

и на экран вывелось все, что после первого =
== 0

Всего записей: 359 | Зарегистр. 30-05-2020 | Отправлено: 12:34 03-11-2020 | Исправлено: KiloSub, 12:38 03-11-2020
0utcast



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
KiloSub
спасибо
я затупил...

Всего записей: 306 | Зарегистр. 08-07-2011 | Отправлено: 13:54 03-11-2020
farag



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
https://pastebin.com/wMBqXnDK
Можно ли как-то правильнее проверять наличие ключа Enable/Disable, чтобы не указывать в функции значения?

Всего записей: 1711 | Зарегистр. 27-07-2009 | Отправлено: 12:41 05-11-2020
mrbims

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть задачка. В батнике сделать отсеивание слов (больше 850 слов). Если нужно подкорректируйте батник
 

Код:
 
@echo off  
setlocal enableextensions enabledelayedexpansion
color 2F
SET /P base="Перетащите файл в это окно --> "
call :domain set domain
 
cls & echo Отсеиваем 1
FINDSTR /L " текст" %base% > %base%-текст1.txt
 
cls & echo Отсеиваем 2
FINDSTR /L " текст" %base% > %base%-текст2.txt
 
FINDSTR  /L /I /P /OFF /V " слово слово1...слово1000 " %base% > %base%-noСлова.txt не срабатывает и завершается
 
cls & echo end!
pause
exit

Всего записей: 5 | Зарегистр. 06-11-2020 | Отправлено: 01:05 06-11-2020 | Исправлено: mrbims, 01:06 06-11-2020
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mrbims Озвучь точно всю постановку задачи.


----------
В сортире лучше быть юзером, чем админом...

Всего записей: 10692 | Зарегистр. 10-12-2003 | Отправлено: 13:23 06-11-2020 | Исправлено: ipmanyak, 13:24 06-11-2020
mrbims

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ipmanyakДумал тут все понятно.
Принцип работы батника: Открываешь, закидываешь txt файл в окно. Далее батник отсеивает из этого файла нужные слова прописанные в FINDSTR /L " текст" %base% > и помещает в %base%-текст1.txt. Потом вторая часть отсеивается. А вот затем отсеивается третья часть Слов. Из загруженного txt файла нужно отсеить не нужные Слова, которые записаны в списке FINDSTR  /L /I /P /OFF /V " слово слово1...слово1000 " %base% > и поместить из в файл %base%-noСлова.txt
 
НО функция FINDSTR  /L /I /P /OFF /V не работает с огромным списком слов. На данный момент в списке 850 слов

Всего записей: 5 | Зарегистр. 06-11-2020 | Отправлено: 21:14 06-11-2020 | Исправлено: mrbims, 21:16 06-11-2020
BorlandIMHO

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

Цитата:
не срабатывает и завершается

Насколько я помню, существует фундаментальное ограничение на длину строчного параметра консольных утилит винды в 2047 символов. Список из 850 слов наверняка имеет бОльшую длину (даже если все слова двухсимвольные, то длина строки из 850 таких слов более 2500 символов), в результате чего findstr и отваливается.
Разбейте список на куски и прогоняйте либо по конвейеру
Код:
FINDSTR  /L /I /P /OFF /V " слово слово1...слово100" %base% |FINDSTR  /L /I /P /OFF /V " слово слово101...слово200 " |...|FINDSTR  /L /I /P /OFF /V " слово слово801...слово850 " > %base%-noСлова.txt

либо последовательно с использованием промежуточных файлов.


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

Всего записей: 1221 | Зарегистр. 12-10-2006 | Отправлено: 00:28 07-11-2020
mrbims

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

Всего записей: 5 | Зарегистр. 06-11-2020 | Отправлено: 01:53 07-11-2020 | Исправлено: mrbims, 01:59 07-11-2020
BorlandIMHO

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mrbims
Ход мысли в принципе правильный, только на вход второго findstr нужно подавать не исходный файл, а результат работы первого, на вход третьего - результат работы второго и т.д.
Цитата:
последовательно с использованием промежуточных файлов.

А итоговым файлом будет результат работы последнего findstr.
Никакие дубликаты при этом возникать не могут...
 
Собственно, конвейер выше делает то же самое, просто промежуточные файлы не создаются.
 
Кстати, конвейер можно записать в несколько строк для удобства чтения/редактирования списков:
Код:
FINDSTR  /L /I /P /OFF /V " слово слово1...слово100" %base% |^
FINDSTR  /L /I /P /OFF /V " слово слово101...слово200 " |^
...|^
FINDSTR  /L /I /P /OFF /V " слово слово801...слово850 " > %base%-noСлова.txt

 
 
P.S. А в вашем варианте разделения списка мало того, что дубли возникают - так ещё и всё, чему полагается отфильтроваться, оказывается в результирующем файле (при условии что "полуфильтры" не пересекаются)....

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

Всего записей: 1221 | Зарегистр. 12-10-2006 | Отправлено: 02:33 07-11-2020 | Исправлено: BorlandIMHO, 11:55 07-11-2020
mrbims

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
Попробовал Ваш вариант кода в разных вариациях. Срабатывает только последняя строчка  FINDSTR  /L /I /P /OFF /V " слово слово801...слово850 " > %base%-noСлова.txt
 
Есть еще варианты? Чтобы скопировать и забыть этот вопрос

Всего записей: 5 | Зарегистр. 06-11-2020 | Отправлено: 14:01 07-11-2020
BorlandIMHO

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

Цитата:
Срабатывает только последняя строчка

Быть того не может. От слова "совсем".
Да, у findstr есть свои "косяки", в частности
Цитата:
указание нескольких буквальных строк поиска может дать ненадежные результаты
(т.е. некоторая часть слов может быть пропущена).
Но так, чтоб в конвейере отрабатывала исключительно последняя команда - тупо не бывает.
Вы что-то делаете не так. Подозреваю, что скармливаете каждой команде в конвейере исходный "%base%"...
Так вот, из файла на конвейере читает только самая первая команда, остальные должны получать поток от предыдущей. Обратите внимание - файл-источник для второй и последующих команд не указывается (иначе она как раз будет игнорировать входной поток с конвейера и читать файл).

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

Всего записей: 1221 | Зарегистр. 12-10-2006 | Отправлено: 14:30 07-11-2020
GCRaistlin



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

Цитата:
у findstr есть свои "косяки"

Можно пример? Ибо статью по вашей ссылке писал какой-то Джамшут - читать невозможно.

----------
Magically yours
Raistlin

Всего записей: 3052 | Зарегистр. 18-04-2005 | Отправлено: 14:53 07-11-2020
BorlandIMHO

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GCRaistlin
Английский исходник, переводил точно Джамшут с гуглопереводчиком.
Пример там приведён:
Код:
echo ffffaaa|findstr /l "ffffaaa faffaffddd"
В 7-ке (в более древних NT не проверял) косяк наблюдается. В 10-ке вроде нормально отрабатывает.



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

Всего записей: 1221 | Зарегистр. 12-10-2006 | Отправлено: 15:10 07-11-2020 | Исправлено: BorlandIMHO, 19:00 07-11-2020
YuS 2



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

Цитата:
В 10-ке вроде нормально отрабатывает.

Десятки разные бывают...
В LTSC, например, не работает даже так:

Код:
echo ffffaaa|findstr "ffaa faffaffddd"

но работает так:

Код:
echo ffffaaa|findstr "faa faffaffddd"

или так:

Код:
echo ffffaaa|findstr "ffa faffaffddd"

- это странно, конечно... не знал, что findstr так косячит...

Всего записей: 3195 | Зарегистр. 03-02-2009 | Отправлено: 15:54 07-11-2020
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru