Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.039 c
1-1118222047
РВА
2005-06-08 13:14
2005.06.29
Пароль при загрузке формы из DLL


14-1117458253
evvcom
2005-05-30 17:04
2005.06.29
Весёлое сообщение об ошибке


1-1118051551
SergeiX
2005-06-06 13:52
2005.06.29
как убрать разбиение на страницы


1-1118068149
Alex17
2005-06-06 18:29
2005.06.29
Дозвон до провайдера


1-1117722173
Demonix
2005-06-02 18:22
2005.06.29
Обработка сообщений Outloook





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский