Главная страница
    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.036 c
6-1112317394
inew
2005-04-01 05:03
2005.06.29
Работа с Pop3Server в Indy10


9-1111489083
Xeno
2005-03-22 13:58
2005.06.29
Деформация


3-1115988608
Inuendo
2005-05-13 16:50
2005.06.29
форматирование полей в DBGrid


9-1111405001
krt
2005-03-21 14:36
2005.06.29
DreamCast


3-1116408719
_e_u_
2005-05-18 13:31
2005.06.29
Вредный, простой скуэль запрос:





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский