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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225

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

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.
• Сторонние консольные утилиты можно использовать только в виде готового решения и только в рамках сценариев. Никаких обсуждений и обучений работе с утилитами не предусмотрено и прямо запрещено правилами топика.
Шапка и около-темные вопросы |

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



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, помогите из файлика рядом с bat'ником вытащить сведения.
Есть текстовый файл LastSyncs.log
В него соответственно пишется лог синхронизации (всегда в начало).
Вид дословно такой:

Код:
________________________________________________________________________________________________
|13.04.2018 - CompFlash: Синхронизация завершена. В процессе синхронизации возникли проблемы
|
|    Элементов обработано: 237 (48,2 МБ)
|    Общее время: 00:00:26
|_______________________________________________________________________________________________
 
[16:15:30] Информация: Начать сравнение
[16:15:32] Информация: Обновление файла "34654466"
[16:15:32] Информация: Обновление файла "4654645646"
[16:15:32] Информация: Обновление файла "45645646"
[16:15:32] Информация: Обновление файла "4554465"
[16:15:32] Информация: Обновление файла "5454466"
[16:15:32] Информация: Обновление файла "132131"
...
 
 
 
Хотелось бы вытащить первое упоминание (т.е. в начале файла) даты (13.04.2018) времени (16:15:30) начала синхронизации и имени (CompFlash) задания на синхронизацию, с последующим присвоением этих значений переменным для использования в bat далее по тексту.

Всего записей: 458 | Зарегистр. 18-02-2008 | Отправлено: 15:10 14-04-2018 | Исправлено: Taran2ul, 15:20 14-04-2018
BorlandIMHO

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

Код:
@echo OFF
setlocal enabledelayedexpansion
REM номер строки, из которой тащим дату
set /a DATESTRING=2
REM Счётчик строк для использования в цикле
set /a SCOUNT=1
REM считываем дату из соответствующей строки
for /f "tokens=1,3 delims=^|: " %%A in (LastSyncs.log) do (
    if !SCOUNT! == %DATESTRING% (set "LOGDATE=%%A" && set "TASKNAME=%%B")
    set /a SCOUNT+=1
)
set "SCOUNT="
REM считываем время из строки лога с "Информация: Начать сравнение"
for /f "usebackq delims=[]" %%B in (`find /i "Информация: Начать сравнение" LastSyncs.log`) do set LOGTIME=%%B
setlocal disabledelayedexpansion
echo Дата: %LOGDATE%
echo Время: %LOGTIME%
echo Имя задания: %TASKNAME%
pause
 


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

Всего записей: 2388 | Зарегистр. 12-10-2006 | Отправлено: 23:11 14-04-2018 | Исправлено: BorlandIMHO, 23:24 14-04-2018
Taran2ul



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
Спасибо.
Вот только если имя задания содержит пробел, то выводится часть до него.
И время выводится не очень корректно:

Код:
Время: ---------- LASTSYNCS.LOG

 
И для ускорения обработки достаточно 8 первых строк.

Всего записей: 458 | Зарегистр. 18-02-2008 | Отправлено: 12:06 16-04-2018
BorlandIMHO

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

Цитата:
время выводится не очень корректно:

На опубликованном Вами куске лога у меня выводится корректное время...

Цитата:
если имя задания содержит пробел, то выводится часть до него

Логично, ибо в логе-примере никаких пробелов в имени задания нет, и я предположил, что их и не бывает...
 
Если время всегда в восьмой строчке:
Код:
@echo OFF
setlocal enabledelayedexpansion
call :GETVARS
setlocal disabledelayedexpansion
echo Дата: %LOGDATE%
echo Время: %LOGTIME%
echo Имя задания: %TASKNAME%
pause
exit /b 0
 
:GETVARS
REM номер строки, из которой тащим дату и имя задания
set /a DATESTRING=2
REM номер строки, из которой тащим время старта. "-1" из-за особенностей обработки пустых строк в for.
set /a TIMESTRING=8-1
REM Счётчик строк для использования в цикле
set /a SCOUNT=0
REM разгребаем :-)
for /f "tokens=1,2,3 delims=^|:[]-" %%A in (LastSyncs.log) do (
    set /a SCOUNT+=1
    if !SCOUNT! == %DATESTRING% (set "LOGDATE=%%A" && set "TASKNAME=%%~B")
    if !SCOUNT! == %TIMESTRING% (set "LOGTIME=%%A:%%B:%%C" & exit /b 0)
)
REM Следующая команда в принципе не нужна, ибо никогда не достигается, если в логе более 7 строк, но пусть будет
exit /b 1
 
 
Обработка лога вынесена в подпрограмму.
Теперь имя задания не должно содержать "-"...


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

Всего записей: 2388 | Зарегистр. 12-10-2006 | Отправлено: 15:30 16-04-2018 | Исправлено: BorlandIMHO, 15:36 16-04-2018
lorents



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
добрый вечер!
 
Помогите разобраться, пожалуйста.
 
Есть программа Печать НД с PDF417, позволяет печатать разные документы для ФНС. Внутри есть пример как работает. Я ни как не могу понять, каким образом работает Печать НД с PDF417, у меня есть файл XML и форма документа в формате Tiff. Изучаю пример и не могу понять как сделать.

----------
Image Catalyst - оптимизация изображений без потери качества

Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 21:41 16-04-2018 | Исправлено: lorents, 00:51 18-04-2018
ShadowBroker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, почему не отрабативает по маске как правильно написать?

Код:
netsh wlan add profile filename=D:\profilwaifi\*.xml interface="Беспроводное сетевое соединение"  

Всего записей: 99 | Зарегистр. 25-01-2017 | Отправлено: 16:02 18-04-2018 | Исправлено: ShadowBroker, 16:03 18-04-2018
NIKZZZZ



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShadowBroker
Как-то так

Код:
for /f "delims=" %%a in ('dir /b /a:-d "D:\profilwaifi\*.xml"') do netsh wlan add profile filename="%%~fa" interface="Беспроводное сетевое соединение"


Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 16:20 18-04-2018 | Исправлено: NIKZZZZ, 19:24 18-04-2018
ShadowBroker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NIKZZZZ
Спасибо за помощ но не сработало пишет:
D:\profilwaifi>netsh wlan add profile filename="%fa" interface="Беспроводное сетевое соединение"
Не удается найти указанный файл.
 
вин7 32розрядная запуск от админа, файлы профиля на месте.

Всего записей: 99 | Зарегистр. 25-01-2017 | Отправлено: 19:19 18-04-2018 | Исправлено: ShadowBroker, 19:24 18-04-2018
NIKZZZZ



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShadowBroker
Я поправил пост, там тильды не хватало, невнимательность.

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 19:26 18-04-2018 | Исправлено: NIKZZZZ, 19:27 18-04-2018
ShadowBroker

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NIKZZZZ
Работает все добавило, Спасибо Вам Большое, у меня возник вопрос в Winpe можно сделать импорт експорт профилей с клиентской машины?

Всего записей: 99 | Зарегистр. 25-01-2017 | Отправлено: 20:00 18-04-2018 | Исправлено: ShadowBroker, 20:05 18-04-2018
svin88

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте всем !
Имеется батник, который создает файл *.txt в директории bat-файла с MAC-адресом сетевой карты в виде текста
mac=XX-XX-XX-XX-XX-XX. Код батника ниже.
Но нужно чтобы выводил текст mac-адреса без тире (дефисов) в виде таком mac=XXXXXXXXXXXX.
Как поправить код чтобы еще удалял тире в создаваемом тексте файла ?
 

Код:
 
@Echo Off
SetLocal EnableExtensions
(
for /f %%a in ('getmac^|find /i "device"') do echo mac=%%a
))>mac1.txt
Exit
 

 

Всего записей: 274 | Зарегистр. 11-06-2009 | Отправлено: 00:20 21-04-2018
NIKZZZZ



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

Код:
@Echo Off
SetLocal EnableExtensions
(
for /f "tokens=1,2,3,4,5,6 delims=- " %%a in ('getmac^|find /i "device"') do echo mac=%%a%%b%%c%%d%%e%%f
))>mac1.txt
Exit

 
ShadowBroker

Цитата:
у меня возник вопрос в Winpe можно сделать импорт експорт профилей с клиентской машины?

Можно, в некоторых сборках реализовано.
 
 

Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 08:24 21-04-2018 | Исправлено: NIKZZZZ, 08:28 21-04-2018
svin88

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Большое спасибо NIKZZZZ за помощь!




В ПМ пасибы шлем, согласно уставу п. 2.8.2. главы VIII Соглашения по использованию

Всего записей: 274 | Зарегистр. 11-06-2009 | Отправлено: 09:27 21-04-2018 | Исправлено: KLASS, 09:38 21-04-2018
ShadowBroker

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

Цитата:
Можно, в некоторых сборках реализовано.  

 
В каких например? я не встречал а может плохо смотрел.

Всего записей: 99 | Зарегистр. 25-01-2017 | Отправлено: 16:28 25-04-2018
lorents



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
 
Запускаю один скрипт в bat, который запускает скрипт wsf.
внутри скрипта wsf есть строчка:

Код:
var file = "D:\\XML\\UT_ZVIUN_7725_7725_772578652046_20180422_96D15EE7-0102-462D-8204-DF1A4E199A67.xml";

запуск wsf через bat

Код:
"%folder%\cscript.exe" //I //Nologo //Job:testPrint "%~dp0test.wsf" testPrint

Как сделать, что я мог задать var file самостоятельно? например:  

Код:
"D:\test.bat" "D:\XML\UT_ZVIUN_7725_7725_772578652046_20180422_96D15EE7-0102-462D-8204-DF1A4E199A67.xml"


----------
Image Catalyst - оптимизация изображений без потери качества

Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 18:34 02-05-2018 | Исправлено: lorents, 18:35 02-05-2018
BorlandIMHO

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lorents
А что внутри .wsf? В смысле, VBS или JS?
В принципе, доступ к параметрам запуска скрипта осуществляется через объект WScript (во всяком случае для VBS).
WScript.Arguments.Count - количество параметров
WScript.Arguments(0) - первый параметр
WScript.Arguments(1) - второй параметр
WScript.Arguments(WScript.Arguments.Count - 1) - последний параметр
И.т.д.
 
Насколько я вижу, Ваш скрипт получает из батника параметр "testPrint". Ничто не мешает передать вторым параметром имя xml-файла.

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

Всего записей: 2388 | Зарегистр. 12-10-2006 | Отправлено: 21:33 02-05-2018
lorents



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
Вот сам скрипты, никак не могу понять как сделать.
http://dropmefiles.com/axrNE

Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 21:41 02-05-2018 | Исправлено: lorents, 21:58 02-05-2018
BorlandIMHO

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

Цитата:
Вот сам скрипты

"ГНИВЦ продакшнс"?..
 
В test.bat, после {@echo OFF}, добавляем строку
Код:
set "FILE2PRINT=%~1"

Вызов {"%folder%\cscript.exe" //I //Nologo //Job:testPrint "%~dp0test.wsf" testPrint} заменяем на
Код:
"%folder%\cscript.exe" //I //Nologo //Job:testPrint "%~dp0test.wsf" testPrint "%FILE2PRINT:\=\\%"

 
В test.wsf заменяем {var file = "D:\\XML\\UT_ZVIUN_7725_7725_772578652046_20180422_96D15EE7-0102-462D-8204-DF1A4E199A67.xml";} на
Код:
var file = WScript.Arguments(1);

 
Соответственно, test.bat будет принимать аргументом имя файла с путём и отдавать его скрипту wsf (заменив все одиночные слеши двойными).
test.wsf будет присваивать это дело переменной file.
 
Гарантировать работоспособность не могу, ставить гнивцовские поделки для проверки - никакого желания...
 
Надеюсь, появится кто-нить из здешних Мастеров и поправит, если что не так.

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

Всего записей: 2388 | Зарегистр. 12-10-2006 | Отправлено: 23:42 02-05-2018 | Исправлено: BorlandIMHO, 14:14 03-05-2018
lorents



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BorlandIMHO
Спасибо! выручили.
 
Кстати можно использовать  

Код:
"%folder%\cscript.exe" //I //Nologo //Job:testPrint "%~dp0test.wsf" testPrint "%FILE2PRINT%"

Цитата:
"ГНИВЦ продакшнс"?..  

Он самый

----------
Image Catalyst - оптимизация изображений без потери качества

Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 00:12 03-05-2018 | Исправлено: lorents, 00:38 03-05-2018
BorlandIMHO

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

Цитата:
Кстати можно использовать...
Ну, в таком случае вообще не нужно вводить переменную FILE2PRINT в батнике, вместо неё с тем же успехом можно скормить wsf непосредственно "%1".
Код:
"%folder%\cscript.exe" //I //Nologo //Job:testPrint "%~dp0test.wsf" testPrint "%~1"

Просто тогда не очень понятно, нафига вообще путь в wsf указан с удвоенными слешами...

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

Всего записей: 2388 | Зарегистр. 12-10-2006 | Отправлено: 20:34 03-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 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 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru