Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd) 2

Автор: gryu
Дата сообщения: 10.04.2008 17:16
01MDM

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

Bat_To_Exe

Доктор Вэб заявляет о присутствии Trojan.MulDrop.12138
Программа вылетает с ошибкой.

Добавлено:
Гы. После отключения антивируса, программа работает нормально, но в последствии результирующий файл так же опознайтся как "возможно заражённый MulDrop"
Автор: 01MDM
Дата сообщения: 10.04.2008 17:49
gryu

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


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

Если, к примеру, написать батник с отдельными командами от rundll32, то некоторые антивирусы тоже не дают его запустить. Рассматривают как потенциально опасный код.
Автор: XXXXL
Дата сообщения: 10.04.2008 23:56
Доброй ночи.

Нужно скрыть результаты работы определенной команды с дозовского окна.
Маленький пример:

del c:\upload\*.txt - пусто, как будто ничего не выполнялось.
del d:\upload\*.tmp - команда успешно завершена.

Спасибо.
Автор: Elroir
Дата сообщения: 11.04.2008 01:08
XXXXL
Добавь в конец команды ">nul 2>&1". То есть в твоем примере:

Код:
del c:\upload\*.txt >nul 2>&1
del d:\upload\*.tmp >nul 2>&1
Автор: gryu
Дата сообщения: 11.04.2008 02:03
01MDM
странно это всё.
Если берём программу + крякер, то получаем "трояяяяяяян!!"
Если берём программу + серийник, то получаем совершенно "чистый" файл.
(Это я о "Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение")
Исходя из логики начинают копошится не приятные сомнения.
Elroir
Помоему ему нужно было на первую строку "пусто, как будто ничего не выполнялось. "
А на вторую сообщение "команда успешно завершена"
Автор: Elroir
Дата сообщения: 11.04.2008 02:28
gryu

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

Все может быть.
Если так, то формулировать надо подругому
Автор: XXXXL
Дата сообщения: 11.04.2008 06:39
Elroir, спасибо огромное!
Автор: Mint86
Дата сообщения: 11.04.2008 07:31
01MDM


Цитата:
На счет пароля - если только эксель поддерживает параметры командной строки для запуска с паролем. В чем я сомневаюсь.

Если все же такая возможность есть:

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


Бат-файл можно скомпилировать в исполняемый бинарный, без возможности прочесть его содержание.


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

Всем огромное спасибо за участие и помощь!!!
Автор: AlexLev59
Дата сообщения: 11.04.2008 08:16
Для тестирования CD-DVD дисков, я хотел применить команду Xcopy E:\*.* NUL: /s /e /h /r,
но вот Xcopy не распознает устройство NUL.
Можете, что посоветовать? Спасибо.
Автор: Haccel
Дата сообщения: 11.04.2008 10:52
Помогите начинающему:

Не могу передать в бат файл параметры командной строки.
Переменные %1 и %* всегда пустые.
По %0 путь файла появляется.
Что не так делаю?
Может параметры както по особому передавать надо?

Когда вызываю один батник из другого, то так параметры передаются нормально...


//////////////////////////////////////////////////
РАЗОБРАЛСЯ - виновата программа console решение навсякий случай вывел в той ветке по консоли
http://forum.ru-board.com/topic.cgi?forum=5&topic=22251&start=20#lt
Автор: kalkin5
Дата сообщения: 11.04.2008 17:04
комрады

вопрос оч. тупой, но все же...
как удалить все папки в указанной папке?
к примеру команда
Код: RD /S /Q "%temp%\*"
Автор: Elroir
Дата сообщения: 11.04.2008 18:39
kalkin5

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


Код:
pushd "%temp%"
rd /s /q "%temp%" 2>nul
popd
Автор: gryu
Дата сообщения: 11.04.2008 20:20
Elroir
А зачем "2>nul" ?


Цитата:

pushd "%temp%"
rd /s /q .
popd


А можно и через удаление папки вместе с содержимым + создание её заново.
Автор: Elroir
Дата сообщения: 11.04.2008 20:34
gryu

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

Чтобы не показывалось сообщение о невозможности удалить саму папку Temp.
Автор: gryu
Дата сообщения: 11.04.2008 23:48
Elroir

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

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

set temp=temp

pushd "%temp%"
rd /s /q . 2>nul
popd

pause
Автор: Elroir
Дата сообщения: 12.04.2008 01:14
gryu

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

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


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

Спасибо за ценную информацию.
Автор: gryu
Дата сообщения: 12.04.2008 02:19
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
Автор: Elroir
Дата сообщения: 12.04.2008 02:35
gryu

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

Это только IYHO. В вопросе не требовалось как-либо обрабатывать ошибки или останавливать выполнение кода командой pause и уж тем более не требовалось закрывать командную строку командой exit.
Автор: gryu
Дата сообщения: 12.04.2008 03:28
Elroir

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

Да это я просто скопировал тестовый батник.
Не стал убирать паузы и выход.
Автор: JI063uk
Дата сообщения: 13.04.2008 06:16
Помогите решить такую проблему – есть текстовый файл, где имена компов, надо сделать батник чтобы он считывал с этого текстового файла имена компов, пинговал их, если пинг прошел то отсылает ему сообщение (net send) которое расположено в другом текстовом файле.
Одним словом оповещать всех
Автор: Elroir
Дата сообщения: 13.04.2008 12:01
JI063uk

Код:
@echo off
setlocal
set /p message=<message.txt
for /f "tokens=*" %%a in (comps.txt) do call :ping_send "%%a"
goto :EOF
:ping_send
ping %~1 | find /i "TTL=">nul
if not errorlevel 1 (net send %~1 %message%)
Автор: JI063uk
Дата сообщения: 13.04.2008 15:19
Чёто не получяеться??? Я думаю может проблема во второй строке (setlocal) - а если у меня домен? Выходит чёрное окошко говорит что ошибка при передачи сообщения на комп. Общая ошибка сети... А на мой собственый комп пришло и еще пробелы в конце каждой строчки нужны?
Автор: Elroir
Дата сообщения: 13.04.2008 17:59
JI063uk
Пробелы в конце строчек не нужны.
Ты проверял, работает ли net send с другими компьютерами из списка (запустив руками)?
Автор: sk754800
Дата сообщения: 13.04.2008 18:30
Приветствую!

С помощью wget с удаленного сервера принимаются обновляемые файлы,
а небольшая строчка в батнике:

Код: rar e -u -tn12d E:\In\Dl\Cons_Upd\???????*.rar *.ans D:\Law\Veda5\RECEIVE\
Автор: tolyn77
Дата сообщения: 14.04.2008 07:22
Rastaguy
2. для w2k/xp/ "md %USERNAME%"

Добавлено:
01MDM
подскажи плиз как можно по команде "sc query | find "SERVICE_NAME:"" получить список
и по этому списку пройтись?
for /f "tokens=2,3* delims=: " %%i in ('sc qc %1 ^| findstr "SERVICE_NAME START_TYPE"') do (
echo %%i %%j
)
Автор: 01MDM
Дата сообщения: 14.04.2008 08:18
tolyn77

Попробуй:

Код:
@echo off
for /f "tokens=2 delims=: " %%i in ('sc query ^| findstr "SERVICE_NAME"') do (
set name=%%i
for /f "tokens=2,3* delims=: " %%i in ('sc qc %%i ^| findstr "START_TYPE"') do (
set "starttype=%%i %%j"
)
call:report
)
goto:eof
:report
echo %name%: %starttype%

Автор: tolyn77
Дата сообщения: 14.04.2008 14:28
01MDM
спасибо то что нужно
вот еще одна проблема что то не получается, хочу сделать так
for /f "tokens=2 delims=: " %%i in ('sc query state= all ^| findstr "SERVICE_NAME"') do (
только он ни как не хочет понимать команду "sc query state= all", если сделать "sc query" то все нормально.
в чем может быть проблема?
Автор: 01MDM
Дата сообщения: 14.04.2008 17:20
tolyn77

Слегка изменил, т.к не выводились службы с названиями из нескольких слов (O&O Defrag например)

Код:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=2,3 delims=: " %%i in ('sc query state^= all ^| findstr "SERVICE_NAME"') do (
set "name=%%i %%j"
for /f "tokens=2,3* delims=: " %%i in ('sc qc "!name!" ^| findstr "START_TYPE"') do (
set "starttype=%%i %%j"
)
echo !name!: !starttype!
)

Автор: JI063uk
Дата сообщения: 14.04.2008 17:51

Цитата:
Пробелы в конце строчек не нужны.
Ты проверял, работает ли net send с другими компьютерами из списка (запустив руками)?

Все батник заработал была отключина служба. Тока приходят каракули если писать на русском подскажи как вылечить это.... Если отправлять вручную через консоль на руском то нормально каракуль нет
Автор: Elroir
Дата сообщения: 14.04.2008 23:04
JI063uk

Цитата:
Все батник заработал была отключина служба. Тока приходят каракули если писать на русском подскажи как вылечить это....


Код:
@echo off
chcp 1251>nul
setlocal
set /p message=<message.txt
for /f "tokens=*" %%a in (comps.txt) do call :ping_send "%%a"
goto :EOF
:ping_send
ping %~1 | find /i "TTL=">nul
if not errorlevel 1 (net send %~1 %message%)

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: DVD-video (ДВД-видео) - что и как (часть 3)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.