Комментарии 19
Да… старый добрый bat. Почему бы не использовать Windows Script Host? Там есть CreateObject и еще много интересного.
+2
WSH не смотрел, но в bat еще можно WMI использовать. Вот например извращенный способ в зависимости от языка ОС определить имена системных параметров:
В зависимости от языка в GroupName будет или Администраторы, или Administrators
@rem S-1-5-32-545 - локальные пользователи
@rem S-1-5-32-544 - администраторы
Set GroupSID=S-1-5-32-544
Set GroupName=
For /F "UseBackQ Tokens=1* Delims==" %%I In (`WMIC Group Where "SID = '%GroupSID%'" Get Name /Value ^| Find "="`) Do Set GroupName=%%J
Set GroupName=%GroupName:~0,-1%
В зависимости от языка в GroupName будет или Администраторы, или Administrators
+1
Лучше PowerShell.
+1
Получим на выходе файл подобный этому: log.14.02.2012_10-41-42.txt
Однако, если вы любитель работать с самого утра или глубокой ночью, то может получиться и так: log.14.02.2012_ 1-03-28.txt
С радостью рассмотрю ваши предложения, как можно это исправить.
for /f "tokens=1-4 delims=: " %%a in ('echo %time%') do set mytime=%%a_%%b_%%c
+1
НЛО прилетело и опубликовало эту надпись здесь
Все наши действия с помощью скрипта постараемся логировать. Для этого задаем имя лог-файла:
@set LOGFILE="log.%DATE%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%.txt"
Однако, если вы любитель работать с самого утра или глубокой ночью, то может получиться и так: log.14.02.2012_ 1-03-28.txt
SET TIME_H=%TIME:~0,2%
if "%TIME_H:~0,1%"==" " SET TIME_H=0%TIME_H:~1,1%
echo %TIME_H%
pause
0
Обычно в таких случаях скачиваю MSYS www.mingw.org/wiki/MSYS и пишу на православном bash.
И удобнее на порядок и кроссплатформенно.
И удобнее на порядок и кроссплатформенно.
+7
Обработка %Date% и %Time% страдает от разных настроек на разных машинах, поэтому скрипты становятся совершенно не портируемые.
Например, на моей машине (где пишу скрипт) дата задаётся как Thu 02/16/2012, а на машине-цели — 16.02.2012.
Только поэтому каждый раз, когда встаёт задача генерации папки с журналами, содержащими текущую дату и время, предпочитаю использовать только надёжные способы:
1) python, если можно поставить
2) PowerShell, если Python поставить нельзя
Например, на моей машине (где пишу скрипт) дата задаётся как Thu 02/16/2012, а на машине-цели — 16.02.2012.
Только поэтому каждый раз, когда встаёт задача генерации папки с журналами, содержащими текущую дату и время, предпочитаю использовать только надёжные способы:
1) python, если можно поставить
2) PowerShell, если Python поставить нельзя
0
У нас используется движок scriptella Scriptella для создания структуры DB + заливка первоначальных данных. Есть обширные драйвера для него Scriptella drivers
0
Зачем столько собак, можно же один раз написать @echo off
Комментарии можно писать :: вместо rem, так они красивее смотрятся
Комментарии можно писать :: вместо rem, так они красивее смотрятся
0
Тоже сталкивался с похожей задачей.
Вот только при этом использовал несколько ini-файлов для хранения настроек для каждого из вариантов и универсальный bat-файл.
Для чтения настроек из ini-файлов использовал for:
REM Import local constants
for /F «eol=[ eol=; tokens=1,2* delims==» %%x in (%CONFIG_FILE%) DO SET %%x=%%y
Вот только при этом использовал несколько ini-файлов для хранения настроек для каждого из вариантов и универсальный bat-файл.
Для чтения настроек из ini-файлов использовал for:
REM Import local constants
for /F «eol=[ eol=; tokens=1,2* delims==» %%x in (%CONFIG_FILE%) DO SET %%x=%%y
+1
только я один заметил что, «компонент» меняет свой род в каждом новом предложении? то используется в мужском роде, то в женском.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Использование bat файлов для развертывания приложений