Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Где есть материал.   Найти похожие ветки 

 
Cerberus ©   (2005-05-28 22:36) [0]

Про написание Bat файлов. Чем подробнее тем лучше.


 
Yanis ©   (2005-05-28 22:37) [1]

В XP есть в справке.


 
Cerberus ©   (2005-05-28 22:40) [2]

А чё нить с примерами


 
Yanis ©   (2005-05-28 22:46) [3]

В этой справке с примерами.


 
Eraser ©   (2005-05-28 22:52) [4]

Cerberus ©   (28.05.05 22:36)

В книге Фигурнова.


 
palva ©   (2005-05-28 23:02) [5]

Из командной строки спросить
cmd /?
а потом искать в Google примеры


 
Alex Konshin ©   (2005-05-29 08:02) [6]

На самом деле по cmd /? много не узнаешь. Но оказывается, что в w2k и XP есть справка по bat, только лежит она в странном месте.

На XP:
1.На десктопе кликнете F1
2.Тыкаем на любом пуктике слева.
3.Внизу слева кликаем на Tools.
4.Нижние три папки слева - "Command-line reference A-Z" и т.п. - это то, что мы ищем. Например в первой папке описаны такие команды, как for, find, findstr.

Как вы заметили, найти эту справку непросто и я лично не знаю, как их найти иначе, и как же это было задумано в MS.

Прмямой путь такой:
ms-its:E:\WINNT\Help\ntcmds.chm::/ntcmds.htm
Ее можно открыть в IE, но при этом лично у меня не показвает scrollbar справа.

На Win2K похоже, но найте немного проще - хоть догадаться можно, куда жать. Но я тоже добираюсь до него через дескоп->F1.


 
Alex Konshin ©   (2005-05-29 08:35) [7]

Могу поделиться некими приемами применения bat, до которых трудно догадаться.

1.Как получить полный путь к директорию bat-файла?
for /D %%I in ("%~dp0.") do set PROJECT_HOME=%%~fI
Аналогично получаются имя директория:
for /D %%I in ("%~dp0.") do set PROJECT=%%~nI
Ну, как достать короткие имена вы уж сами догадаетесь.
Надеюсь понятно, что вместо %~dp0. можно подставить и другие выражения.

2.Как распарсить некую переменную?
Тоже через for. Применяем его способность парсить вывод команды, в данном случае echo. Пример:

set IEJAVACLASS=IECanvas
set nativeclasses=%IEJAVACLASS%,HTMLElementIE,IEObject,HTMLNodeIE,HTMLTextIE,HTMLDocumentIE,HTMLCollectionIE,HTMLCaretIE,HTM LPointerIE,HTMLMarkupPointerIE,HTMLSegmentIE,HTMLSelectionSegmentIE,HTMLHighlightSegmentIE,HTMLLineInfoIE,HTMLRendererEx ceptionIE,HTMLAttributeIE
set javafiles=
set JAVAHFILES=
set GENJNIFILES=
set javaclasses=
set list=%nativeclasses%,
:processlist
for /F "usebackq eol=, tokens=1*" %%I in (`echo %list%`) do (
   set javafiles=%javafiles% %JSRC%\%%I.java
   set javaclasses=%javaclasses% %package%.%%I
   set GENJNIFILES=%GENJNIFILES% %GENJNI%\%%I.h
   set JAVAHFILES=%JAVAHFILES% %JOUT%\%%I.class
   set list=%%J
)
if "%list%" NEQ "" goto processlist


3.Как прочитать что-нибудь из файла?
Обычно нужно прочитать какой-то тектовый файл и достать из него какую-то информацию. Например, прочитать некий конфиг.
Я использую для этого findstr и опять-таки for. Findstr выдает искомые строчки, а for их парсит.
В примере читается значение, заключенное в апострофы из строки файла, начинающейся с "jdkhome = "", т.е. в конфиге она выглядит примерно так:
jdkhome = "C:\jdk1.4";
А вот и сам пример:

for /F "usebackq delims=" tokens=2*" %%I in (`findstr /r "^jdkhome *= *"" "%ARTSC_IA_HOME%\build.config"`) do (
 set JAVA_HOME=%%I
)



Страницы: 1 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
4-1114425641
Leonid
2005-04-25 14:40
2005.06.29
Как определить версию Windows ?


3-1116718926
grol
2005-05-22 03:42
2005.06.29
Как из ADOQuery ков перенести информацию в Excel?


4-1115541375
psa247
2005-05-08 12:36
2005.06.29
RegOpenKey


14-1117454352
Igorek
2005-05-30 15:59
2005.06.29
sms спамерство и лохотронство


4-1115054643
Гном23
2005-05-02 21:24
2005.06.29
о dll -ках