![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скрипт не захватывает восклицательный знак из текста |
|
CMD/BAT - [решено] Скрипт не захватывает восклицательный знак из текста
|
Новый участник Сообщения: 8 |
Имеется скрипт, который ищет строку из %FindFile% в файле %infile%, в котором присутствует символ ! (восклицательный знак)
@echo off SetLocal EnableExtensions EnableDelayedExpansion For /F "Tokens=3 Delims=," %%A in ('wmic /NODE:localhost path win32_operatingsystem get LocalDateTime^, CurrentTimeZone /FORMAT:CSV') do (Set st=%%A) Set YYYY=%st:~0,4% Set MM=%st:~4,2% Set FindFile=old_date.txt Set infile=infile.txt Set TmpFile="%infile%.tmp" Set outFile="%infile%" if exist %FindFile% ( Set /p find=< %FindFile% ) else Set find=2014.05 Set replace=%YYYY%.%MM% for /F "UseBackQ delims=" %%n in ("%infile%") do ( set "LINE=%%n" echo=!LINE:%find%=%replace%!>>"%TmpFile%" ) move /y %TmpFile% %outFile% del /f /q %FindFile% echo %replace%>> %FindFile% endlocal Некоторые части скрипта находил гуглением. Помогите, пожалуйста. |
|
Отправлено: 19:38, 13-07-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать R3m, это связано с тем, что символ «!» при включённом отложенном раскрытии переменных окружения («setlocal … enabledelayedexpansion») имеет специальное значение.
Опишите детально, что делает/должен делать пакетный файл. P.S. «/NODE:localhost» лишнее. «path win32_operatingsystem» можно просто заменить псевдонимом «OS». |
Отправлено: 20:09, 13-07-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 8
|
Профиль | Сайт | Отправить PM | Цитировать Iska, скрипт ищет дату (YYYY.MM), заданную в файле %FindFile%, в файле %infile% и заменяет ее на текущую.
%infile% - основной скрипт WPI.hta. смена даты необходима из-за ежемесячного (а то и чаще) обновления ПО в сборке. |
Отправлено: 20:42, 13-07-2014 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:16, 13-07-2014 | #4 |
Новый участник Сообщения: 8
|
Профиль | Сайт | Отправить PM | Цитировать Iska, извините, что пару дней не писал, ездил на отдых в другой город.
%infile% на самом деле WPI.hta, я его здесь переименовал только для того, чтобы показать, что в нем хранится текстовая информация. Прикрепляю архив. В WPI.hta текст, подлежащий замене, находится на 3 и 76 строках. |
|
Отправлено: 11:04, 17-07-2014 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать R3m, на WSH:
|
Отправлено: 06:30, 18-07-2014 | #6 |
Новый участник Сообщения: 8
|
Профиль | Сайт | Отправить PM | Цитировать Iska, что-то не могу разобраться. ваш скрипт вообще не хочет запускаться. Сохранил его в текстовый файл с расширением .wsh, запускал и с параметром и без - выдает такое окно
![]() |
Отправлено: 21:58, 01-08-2014 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 22:23, 01-08-2014 | #8 |
Новый участник Сообщения: 8
|
Профиль | Сайт | Отправить PM | Цитировать Iska, простите, туплю слегка
![]() |
Отправлено: 17:35, 02-08-2014 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать R3m, два раза — не за что
![]() |
Отправлено: 22:36, 02-08-2014 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
восклицательный знак после иистоляции! | geeg | Непонятные проблемы с Железом | 9 | 13-07-2017 07:32 | |
Драйвер - [решено] Восклицательный знак при вставке флешки | Ligas | Microsoft Windows 7 | 12 | 23-01-2012 14:32 | |
Ошибка - Восклицательный знак при вставке флешки | Ligas | Microsoft Windows 2000/XP | 3 | 20-01-2011 15:00 | |
CMD/BAT - [решено] Как убрать из названий файлов и папок восклицательный знак? | Oleg48 | Скриптовые языки администрирования Windows | 3 | 05-08-2010 14:45 | |
HDD - Восклицательный знак | Wbares | Накопители (SSD, HDD, USB Flash) | 1 | 19-08-2009 14:19 |
|