Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd) 2

Модерирует : gyra, Maz

Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
(часть 1)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 5
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Курс лекций для начинающих. Полезно и просто описано
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
· Уильям Станек - Командная строка Microsoft Windows (вплоть до w2k3)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек)
 
Старая версия первого сообщения

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:08 19-11-2007 | Исправлено: Dmitriy05, 22:49 13-04-2008
gryu



дикий гусь
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM

Цитата:
Вот бесплатный и с оффсайта. И бинарник получается небольшой, наверное потому что без троянов.
 
Bat_To_Exe  

Доктор Вэб заявляет о присутствии Trojan.MulDrop.12138
Программа вылетает с ошибкой.  
 
Добавлено:
Гы. После отключения антивируса, программа работает нормально, но в последствии результирующий файл так же опознайтся как "возможно заражённый MulDrop"

Всего записей: 13033 | Зарегистр. 15-03-2006 | Отправлено: 18:16 10-04-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gryu

Цитата:
Доктор Вэб заявляет о присутствии Trojan.MulDrop.12138

 
Об этом уже выше написали, но я сомневаюсь в истинности. Я этим практически не пользуюсь, но McAffee молчит.
 
Если, к примеру, написать батник с отдельными командами от rundll32, то некоторые антивирусы тоже не дают его запустить. Рассматривают как потенциально опасный код.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:49 10-04-2008
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброй ночи.
 
Нужно скрыть результаты работы определенной команды с дозовского окна.
Маленький пример:
 
del c:\upload\*.txt - пусто, как будто ничего не выполнялось.
del d:\upload\*.tmp - команда успешно завершена.
 
Спасибо.

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 00:56 11-04-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XXXXL
Добавь в конец команды ">nul 2>&1". То есть в твоем примере:

Код:
 
del c:\upload\*.txt >nul 2>&1
del d:\upload\*.tmp >nul 2>&1
 


----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:08 11-04-2008
gryu



дикий гусь
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
странно это всё.  
Если берём программу + крякер, то получаем "трояяяяяяян!!"
Если берём программу + серийник, то получаем совершенно "чистый" файл.
(Это я о "Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение")  
Исходя из логики начинают копошится не приятные сомнения.
Elroir
Помоему ему нужно было на первую строку "пусто, как будто ничего не выполнялось. "
А на вторую сообщение "команда успешно завершена"

Всего записей: 13033 | Зарегистр. 15-03-2006 | Отправлено: 03:03 11-04-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gryu

Цитата:
Помоему ему нужно было на первую строку "пусто, как будто ничего не выполнялось. "  
А на вторую сообщение "команда успешно завершена"

Все может быть.
Если так, то формулировать надо подругому

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 03:28 11-04-2008
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir, спасибо огромное!

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 07:39 11-04-2008
Mint86



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
 

Цитата:
На счет пароля - если только эксель поддерживает параметры командной строки для запуска с паролем. В чем я сомневаюсь.  
 
Если все же такая возможность есть:  
 
Цитата:PS насколько я понимаю бат файл это просто текстовый файл, посему вопрос, можно ли как нить сделать так чтобы пользователь не смог прочесть и понять что он выполняет, и не смог узнать пароль Excel.  
 
 
Бат-файл можно скомпилировать в исполняемый бинарный, без возможности прочесть его содержание.  

 
Проблему с изменением значениея реестра и вводом пароля на открытие книги Excl удалось решить с помощью отличной программы AutoHotKey. С помощью этой программы написал маленький скрипт который все это делает, а сам скрипт сконвертировал в exe файл. С прогрммами по конвертиции батников в exe по некоторым причинам (такие программы как оказалось распаковывают оригинальный батник либо во временную папку либо в текущую папку при выполнении, так что терялся всякий смысл конвертации в exe), к сожалению было неприемлемо.
http://forum.ru-board.com/topic.cgi?forum=5&topic=16053#1
 
Всем огромное спасибо за участие и помощь!!!

Всего записей: 166 | Зарегистр. 25-06-2007 | Отправлено: 08:31 11-04-2008
AlexLev59

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для тестирования CD-DVD дисков, я хотел применить команду Xcopy E:\*.* NUL: /s /e /h /r,
но вот Xcopy не распознает устройство NUL.
Можете, что посоветовать? Спасибо.

Всего записей: 114 | Зарегистр. 04-12-2006 | Отправлено: 09:16 11-04-2008
Haccel



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите начинающему:
 
Не могу передать в бат файл параметры командной строки.
Переменные %1 и %* всегда пустые.
По %0 путь файла появляется.
Что не так делаю?
Может параметры както по особому передавать надо?
 
Когда вызываю один батник из другого, то так параметры передаются нормально...
 
 
//////////////////////////////////////////////////
РАЗОБРАЛСЯ - виновата программа console решение навсякий случай вывел в той ветке по консоли  
http://forum.ru-board.com/topic.cgi?forum=5&topic=22251&start=20#lt

Всего записей: 58 | Зарегистр. 26-08-2007 | Отправлено: 11:52 11-04-2008 | Исправлено: Haccel, 15:35 11-04-2008
kalkin5



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
комрады
 
вопрос оч. тупой, но все же...
как удалить все папки в указанной папке?
к примеру команда
Код:
RD /S /Q "%temp%\*"

должна удалить все подпапки в папке temp (по крайней мере я б хотел именно такой результат), но этого почему-то не происходит...

Всего записей: 189 | Зарегистр. 21-03-2006 | Отправлено: 18:04 11-04-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalkin5

Цитата:
как удалить все папки в указанной папке?


Код:
 
pushd "%temp%"
rd /s /q "%temp%" 2>nul
popd
 



----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:39 11-04-2008
gryu



дикий гусь
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
А зачем "2>nul" ?
 

Цитата:
 
pushd "%temp%"
rd /s /q .
popd  
 

 
А можно и через удаление папки вместе с содержимым + создание её заново.

Всего записей: 13033 | Зарегистр. 15-03-2006 | Отправлено: 21:20 11-04-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gryu

Цитата:
А зачем "2>nul" ?

Чтобы не показывалось сообщение о невозможности удалить саму папку Temp.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:34 11-04-2008
gryu



дикий гусь
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir

Цитата:
Чтобы не показывалось сообщение о невозможности удалить саму папку Temp.

А тогда там не переменную %temp% ставить, а точку. Как у меня.  
Зачем указывать переменную, если предидущей командой мы уже вошли в каталог?
одна точка это текущий каталог. Две точки это родительский каталог.
 
set temp=temp
 
pushd "%temp%"
rd /s /q . 2>nul
popd
 
pause

Всего записей: 13033 | Зарегистр. 15-03-2006 | Отправлено: 00:48 12-04-2008 | Исправлено: gryu, 00:54 12-04-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gryu

Цитата:
А тогда там не переменную %temp% ставить, а точку. Как у меня.  
Зачем указывать переменную, если предидущей командой мы уже вошли в каталог?

Затем, что если по каким либо причинам команда pushd [директория] не сработала, то следующей командой rd с точкой, ты удалишь все, что находится в текущей директории.
 

Цитата:
одна точка это текущий каталог. Две точки это родительский каталог

Спасибо за ценную информацию.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:14 12-04-2008
gryu



дикий гусь
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir

Цитата:
если по каким либо причинам команда pushd [директория] не сработала, то следующей командой rd с точкой, ты удалишь все, что находится в текущей директории.  

хм. Если  pushd "%temp%"  не срабатывает, то значит "сбой программы"
ИМХО нужно писать  
 
set temp=temp
 
pushd "%temp%" || goto:error
rd /s /q . 2>nul   (либо  rd /s /q "%temp%" 2>nul , тут уж как решить)
popd
 
pause  
exit
 
:error
echo Внимание! ошибка ****
 
pause
exit

Всего записей: 13033 | Зарегистр. 15-03-2006 | Отправлено: 03:19 12-04-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gryu

Цитата:
ИМХО нужно писать  

Это только IYHO. В вопросе не требовалось как-либо обрабатывать ошибки или останавливать выполнение кода командой pause и уж тем более не требовалось закрывать командную строку командой exit.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 03:35 12-04-2008
gryu



дикий гусь
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir

Цитата:
уж тем более не требовалось закрывать командную строку командой exit.  

Да это я просто скопировал тестовый батник.
Не стал убирать паузы и выход.  

Всего записей: 13033 | Зарегистр. 15-03-2006 | Отправлено: 04:28 12-04-2008
JI063uk



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите решить такую проблему – есть текстовый файл, где имена компов, надо сделать батник чтобы он считывал с этого текстового файла имена компов, пинговал их, если пинг прошел то отсылает ему сообщение (net send) которое расположено в другом текстовом файле.
Одним словом оповещать всех

Всего записей: 55 | Зарегистр. 24-01-2008 | Отправлено: 07:16 13-04-2008 | Исправлено: JI063uk, 11:16 13-04-2008
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd) 2
Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru