Модераторы: bartram, Akella

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с bat'ником 
:(
    Опции темы
Delphist
Дата 4.7.2007, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



В моем bat'нике есть такая вещь
echo Удаление архива...
erase D:\MyPrj.rar
Мне нужно сделать такую вещь если файл не был найден то срабатывала бы команда pause. Возможно ли такое?



--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
JackYF
Дата 4.7.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 1
Всего: 162



Delphist, попробуй if errorlevel 1 goto pause, если erase выдает коды завершения, или что-то похожее...


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Akina
Дата 4.7.2007, 18:05 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 454



Код

echo Удаление архива...
erase D:\MyPrj.rar
if errorlevel 1 goto PauseExecution
goto Continue
:PauseExecution
echo Error erasing D:\MyPrj.rar...
pause > nul
:Continue



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
mihanik
Дата 4.7.2007, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 61
Всего: 109



а я бы всё на vbs забацал...
Может потому, что vbs знаю лучше, чем командный язык?
 smile 


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Samotnik
Дата 5.7.2007, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 15
Всего: 191



В конце, в условии напиши pause   ,  с   goto  я бы дело не имел!!!
PM MAIL   Вверх
dumb
Дата 5.7.2007, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 15
Всего: 158



хм... а зачем del/erase мучать?..  smile  
Код

echo Удаление архива...
if not exist D:\MyPrj.rar goto :PauseExecution
erase D:\MyPrj.rar
goto :Continue
:PauseExecution
echo netu D:\MyPrj.rar...
pause > nul
:Continue


PM MAIL   Вверх
Delphist
Дата 5.7.2007, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



Спасибо ребята! А как узнать есть ли в системе диск G



--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Delphist
Дата 5.7.2007, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



Как мне в батнике сделать такую вещь:
if errorlevel 1 
тут должен выполняться блок команд
после чего срабатывать команда exit или что-то подобное что завершает выполнение bat-файла.



--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
JackYF
Дата 5.7.2007, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 1
Всего: 162



Цитата(Delphist @  5.7.2007,  08:39 Найти цитируемый пост)
тут должен выполняться блок команд

ну вот уже написали, goto метка, после метки и двоеточия блок команд, затем exit и есть, если не ошибаюсь.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Delphist
Дата 5.7.2007, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



1) Как в условии IF записать не равно, вот этот знак <>, != не работает
2) вообще по какому правилу задаются значения errorlevel
3) как в условии написать if errorlevel=1 and exists d:\MyProj.rar, ведь and он не понимает, может через &
4) Как создать переменую строкового типа и вывести ее на экран

Это сообщение отредактировал(а) Delphist - 5.7.2007, 10:58


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
JackYF
Дата 5.7.2007, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 1
Всего: 162



Цитата(Delphist @  5.7.2007,  09:26 Найти цитируемый пост)
вообще по какому правилу задаются значения errorlevel

errorlevel - код завершения предыдущей выполненный команды

Цитата(Delphist @  5.7.2007,  09:26 Найти цитируемый пост)
А как будет выглядить запись if errorlevel <> 1 

в общем случае - невозможно. Язык .bat очень урезан. Только if errorlevel 2 будет означать >=2.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Delphist
Дата 5.7.2007, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



Как создать переменную строкового типа
Как в одном условии написать if что-то and что-то тогда
И есть команда else у bat
можно ли из bat сработать speekfon

Это сообщение отредактировал(а) Delphist - 5.7.2007, 11:21


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
JackYF
Дата 5.7.2007, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 1
Всего: 162



Цитата(Delphist @  5.7.2007,  11:16 Найти цитируемый пост)
Как создать переменную строкового типа
Как в одном условии написать if что-то and что-то тогда
И есть команда else у bat
можно ли из bat сработать speekfon


Многовато хочешь от .bat'а. Сложные скрипты в нем делаются или через ж..., или не реализуемы вообще.
Бери лучше другой скриптовый язык Windows - VBScript или JScript.



--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
dumb
Дата 5.7.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 15
Всего: 158



Цитата(Delphist @  5.7.2007,  10:26 Найти цитируемый пост)
1) Как в условии IF записать не равно, вот этот знак <>, != не работает

Код

if not errorlevel 1 goto someskip

Цитата(Delphist @  5.7.2007,  10:26 Найти цитируемый пост)
2) вообще по какому правилу задаются значения errorlevel

эм... errorlevel = код выхода приложения. а проверяться должны начиная с больших значений.
Код

if errorlevel 3 goto some3
if errorlevel 2 goto some2
if errorlevel 1 goto some1

Цитата(Delphist @  5.7.2007,  10:26 Найти цитируемый пост)
3) как в условии написать if errorlevel=1 and exists d:\MyProj.rar, ведь and он не понимает, может через &

синтаксис if'а весьма ограничен(if /?). так что:
Код

if not errorlevel 1 goto :nop
if exist d:\MyProj.rar goto :yeap
:nop

Цитата(Delphist @  5.7.2007,  10:26 Найти цитируемый пост)
4) Как создать переменую строкового типа и вывести ее на экран

Код

set SomeVar=строка
echo %SomeVar%


справка:
Код

if /?
set /?
for /?


Цитата(JackYF @  5.7.2007,  12:54 Найти цитируемый пост)
Сложные скрипты в нем делаются или через ж...

smile

PM MAIL   Вверх
JackYF
Дата 5.7.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 1
Всего: 162



Цитата(dumb @  5.7.2007,  13:50 Найти цитируемый пост)
Цитата(Delphist @  5.7.2007,  10:26 Найти цитируемый пост)
1) Как в условии IF записать не равно, вот этот знак <>, != не работает

if not errorlevel 1 goto someskip


неверно. Это будет означать <1, а не != 1 Хотя может автор это и имел в виду.

Добавлено через 21 секунду
а так все правильно smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.1169 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.