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

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

Автор: dardreams
Дата сообщения: 20.08.2008 14:54
Возможно ли узнать Имя компьютера зная его IP через CMD.exe ?
Автор: neNadolgo
Дата сообщения: 21.08.2008 11:03
Как при помощи сценария (батника) организовать выполнение следующей задачи.
1. Проверка наличия на закрытом и паролированном FTP файла по маске (архив формата РАР)
1.а. При его отсутствии ничего не делать.
1.б При наличии скачать на компьютер.
2. Оттестировать скаченный архив
2.а При наличии ошибки - перекачать
2.б При отсутствии ошибки распаковать в определенную директорию
3. Запустить ряд последующих команд.
Размер архива может достигать гигабайта и даже более. (ИМХО Поэтому штатным вызовом FTP виндовс, что то мало вероятно)
Автор: merphy69
Дата сообщения: 21.08.2008 13:27
камрады, подскажите как реализовать следующую задачу:

есть директории opath и mail
set opath=d:\iconv\outcome\
set mail=d:\iconv\outcome\@mail\

необходимо найти все файлы *.eml в opath и во всех ее поддиректориях и переместить в папку mail

спасибо!
Автор: dardreams
Дата сообщения: 21.08.2008 14:42
for /f "tokens=*" %a in ('dir /b /s "%opath%" ^|find /i ".eml"') do copy "%a" %mail%\ /y
Попробуй так, это пример для cmd.exe
Если будешь делать bat-файл, то вместо %a надо писать %%a.
Автор: merphy69
Дата сообщения: 21.08.2008 15:34
dardreams, спасибо!
с find ничего не вышло, я сделал вот так
for /f "tokens=*" %%a in ('dir /b /s "%opath%*.eml"') do move "%%a" %mail%
Автор: Pork6
Дата сообщения: 21.08.2008 18:26
Доброго всем времени суток, вопрос такой:

При вводе в CMD команды ping ya.ru > 1.txt , последний выводит следущее:


Цитата:
ЋЎ¬Ґ- Ї ЄҐв ¬Ё б ya.ru [213.180.204.8] Ї® 32 Ў ©в:



ЋвўҐв ®в 213.180.204.8: зЁб«® Ў ©в=32 ўаҐ¬п=24¬б TTL=58

ЋвўҐв ®в 213.180.204.8: зЁб«® Ў ©в=32 ўаҐ¬п=18¬б TTL=58

ЋвўҐв ®в 213.180.204.8: зЁб«® Ў ©в=32 ўаҐ¬п=24¬б TTL=58

ЋвўҐв ®в 213.180.204.8: зЁб«® Ў ©в=32 ўаҐ¬п=20¬б TTL=58



‘в вЁбвЁЄ Ping ¤«п 213.180.204.8:

Џ ЄҐв®ў: ®вЇа ў«Ґ-® = 4, Ї®«гзҐ-® = 4, Ї®вҐап-® = 0 (0% Ї®вҐам),

ЏаЁЎ«Ё§ЁвҐ«м-®Ґ ўаҐ¬п ЇаЁҐ¬ -ЇҐаҐ¤ зЁ ў ¬б:

ЊЁ-Ё¬ «м-®Ґ = 18¬бҐЄ, Њ ЄбЁ¬ «м-®Ґ = 24 ¬бҐЄ, ‘।-ҐҐ = 21 ¬бҐЄ


Скриншот: http://ipicture.ru/uploads/080821/tnHGbNrC35.jpg

***

Что у меня не так с кодировкой, в чем проблема?
Автор: 01MDM
Дата сообщения: 22.08.2008 05:13
Pork6

Код:
@echo off
for /f "tokens=*" %%i in ('ping ya.ru') do call:convert "%%i"
goto:eof

:convert
chcp 1251 1>nul
echo %~1 1>>1.txt
chcp 866 1>nul
Автор: 7yu8
Дата сообщения: 22.08.2008 09:08
Привет всем.
Такая задача. На сервере 2003 вечером нужно логофить терминальные сессии цитрикса котые висят в дисконнекте, нашол вот такой скрипт:

query session | find /v ">" | find "wdica" | find /v "6553" > session.txt
type session.txt |find /v "ica-tcp#" > noactive.txt
for /f "tokens=1,2,3" %%I in (noactive.txt) do echo Y|logoff %%J
#del noactive.txt
#del session.txt

файлы формируються нормально
а дальше его циклит и сессии не отрубаються,
хотя если просто написать в батнике logoff 22 например - то все работает.
В чем проблема, напишите как правильно
Автор: 01MDM
Дата сообщения: 22.08.2008 11:22
7yu8

Покажи пример noactive.txt и что из него надо взять. Наобум никто не ответит.
Автор: 7yu8
Дата сообщения: 22.08.2008 11:40
пример noactive.txt

Ќ в  15 Disc wdica
filimonova 22 Disc wdica
obezuglaya 23 Disc wdica

нужно чтоб в цикле выполнялась команда logoff с номером сесиии
в данном случае три раза, вот так :
logoff 15
logoff 22
logoff 23
Автор: Dasky
Дата сообщения: 22.08.2008 13:59
добрый...
кто подскажет, как сделать, чтоб батник запускался от имени админа?
т.е. какая будет команда, чтоб использавался логин администратора и его пароль...
спс...
Автор: 01MDM
Дата сообщения: 22.08.2008 14:26
7yu8
Т.е нет строгого формата файла. В первом поле возможны любые имена (с пробелами и другими знаками)?

Попробуй такой вариант, но он не безупречен:


Код:

....

for /f "tokens=*" %%i in (noactive.txt) do (
for %%i in (%%i) do if %%i lss 10000 echo Y | logoff %%i
)
Автор: 7yu8
Дата сообщения: 22.08.2008 15:19
01MDM
формат файла типа таблицы:
сеанс | пользователь | сессия | статус | тип
filimonova 22 Disc wdica
obezuglaya 23 Disc wdica

длинну полей и количество пробелов не знаю.
С новой строкой тоже самое - постоянно крутит в окне без остановки
по не нажмешь Ctrl+C. Похоже вначале даже правильнее было написано, там оно находило номер сесии и подставляло его после команды логофф но все равно
циклило...

Добавлено:
УРААААА !!!
все проблема решена

Следует иметь в виду, что данный файл ни в коем случае нельзя называть именем системной команды, например, Logoff.bat, иначе возможно зацикливание выполнения ...

всем спасибо
Автор: vitrzn
Дата сообщения: 22.08.2008 18:53
Подскажите!
Когда запускаю 125.cmd то появляется окошко где вверху написано
C:\Windows\system32\cmd.exe
а имени батника не видно!

Можно как нибуть сделать так чтобы в этот окошке (не важно где, вверху, внизу .....)
отображалось имя батника.
Либо в самом окошке (где бегут командные строки )

Наверное одно из решений, это применение @echo off (чтобы строки скрыть), а вот как рядом поставить название батника?

p.s. батников много и какой из них в данный момент запущен, порой не определишь (
Автор: Elroir
Дата сообщения: 22.08.2008 19:17
vitrzn
После строчки с "@echo off", добавь строчку "title %~0"
Автор: vitrzn
Дата сообщения: 22.08.2008 19:47
Elroir
Спасибо !
Но что-то не работает (может где-то что-то не так делал)

Помогло вот так:

color 0A
title %~0
@echo off
(
бла
бла
бла
)>nul 2>&1
Автор: dardreams
Дата сообщения: 23.08.2008 12:39
Возможно ли узнать Имя компьютера зная его IP через CMD.exe ?
Может хоть кто нибудь отреагирует ???
Автор: Elroir
Дата сообщения: 23.08.2008 13:58
dardreams

Цитата:
Возможно ли узнать Имя компьютера зная его IP через CMD.exe ?

Если компьтер в локальной сети, тогда можно попробовать узнать его имя командой:

Код:
nbtstat -A 123.123.123.123
Автор: azamapendrus
Дата сообщения: 24.08.2008 08:00
Задача:
Батник должен найти и скопировать файлы (путь, где они находятся неизвестен)по маске расширения(*.pdf, *.doc) и сохранить путь этих файлов в .txt c указанием имени компа и даты копирования. Искать должен на всех дисках и носителях.Сохранить копированные файлы и текстовый файл в той же директории, откуда батник будет запущен. Копирование должно произойти даже если эти файлы с атрибутами скрытый, только для чтения, системный.
Автор: 01MDM
Дата сообщения: 24.08.2008 10:56
azamapendrus
А если у файлов будут одинаковые названия? Попробуй такой вариант, проверить не могу.

Код:
@echo off
chcp 1251 1>nul

for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m) do (
pushd %%i:\ 2>nul && (
for /f "tokens=*" %%i in ('dir /b /s /a *.pdf *.doc') do (
if not "%%~dpi" equ "%%~dp0" (if not exist "%%~nxi" (
copy "%%i" && echo %date%,%computername%,"%%i" 1>>list.txt
) else (
copy "%%i" "~%%~nxi" && echo %date%,%computername%,"%%i" 1>>list.txt
)
)
)
)
popd
)
Автор: dardreams
Дата сообщения: 24.08.2008 12:00
Elroir
Спасибо, рабоотает!
Автор: Zalexi
Дата сообщения: 24.08.2008 13:42
Подскажите, пожалуйста, как изменить строчку в командной строке WinRar, чтобы она заработала:
a -hp1234 -S -V100M -m5 %P%N %P%N

Запускалась из Total Commander с помощью кнопки, где надо были прописаны пути к исполняемому файлу и директории. Должен был создаваться многотомный запароленый ("1234") архив с размером тома 100Мб. Но перестал работать, появляется окно с предупреждением WinRar: Архив поврежден или имеет неизвестный формат.

Windows Vista. WinRar 3.71

Заранее благодарен всем ответившим.
Автор: azamapendrus
Дата сообщения: 24.08.2008 17:13
01MDM
Спасибо Работает! ТОЛЬКО ОДИН НЮАНС ОСТАЛСЯ- чтобы всё найденное (на всех носителях) *.doc и *.pdf и (list.txt-отчёта) копировалось в одну папку( с указанием имени папки-имя машины и даты копирования) , которая бы создавалась в той же директории, откуда был запущен батник . В данном батнике, например , что находилось на С: скопировалось сюда же и отчет тут же , что было на D- скопировалось на D.
Автор: 01MDM
Дата сообщения: 24.08.2008 17:57
azamapendrus
Попробуй так:

Код:
@echo off
chcp 1251 1>nul

for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m) do (
pushd %%i:\ 2>nul && (
for /f "tokens=*" %%i in ('dir /b /s /a *.pdf *.doc') do (
if not "%%~dpi" equ "%%~dp0" (if not exist "%%~nxi" (
copy "%%i" "%%~dp0%%~nxi" && echo %date%,%computername%,"%%i" 1>>list.txt
) else (
copy "%%i" "%%~dp0~%%~nxi" && echo %date%,%computername%,"%%i" 1>>list.txt
)
)
)
)
popd
)
Автор: azamapendrus
Дата сообщения: 24.08.2008 18:14
01MDM
Не изменилось, файлы найденные в разных директориях на C, скопировались на C и отчет по С диску, на D -аналогично, и также отдельный отчет по D-диску.
Желательно бы , чтобы все файлы со всех дисков копировались в одну папку и рядом был бы отчет -общий. Но главное, что бы папка скопированных файлов создавалась откуда запускается батник. Например -запускаю с рабочего стола-рядом создаётся папка скопированных всех файлов и рядом или в папке отчёт.
Автор: 01MDM
Дата сообщения: 24.08.2008 19:15
azamapendrus, сейчас не могу протестировать и пишу наощупь,
В первом варианте замени все %%~dp.... на %~dp....
Попробуй еще такой вариант:

Код:
@echo off
setlocal
chcp 1251 1>nul
for %%i in (q w e r t y u i o p a s d f g h j k l z x c v b n m) do (
pushd %%i:\ 2>nul && (
for /f "tokens=*" %%i in ('dir /b /s /a *.pdf *.doc') do call:_set "%%i"
popd
)
)
for /f "tokens=2* delims==" %%i in ('set toCopy_') do (
if not exist "%%~nxi" (
copy %%i && echo %date%,%computername%,%%~i 1>>list.txt
) else (
copy %%i "%~dp0~%%~nxi" && echo %date%,%computername%,%%~i 1>>list.txt
)
)
chcp 866 1>nul
goto:eof

:_set
set /a cnt+=1
set toCopy_%cnt%=%1
Автор: XXXXL
Дата сообщения: 24.08.2008 22:43
Здравствуйте!

Я раньше при необходимости через командную строку открывал нужный мне веб адрес используя команду "start"

Код: start http://forum.ru-board.com
Автор: Elroir
Дата сообщения: 25.08.2008 01:57
XXXXL

Цитата:
Теперь понадобилось запускать вебадрес который записан в текстовом документе, то есть документ link.txt в нём записана сылка и нужно что бы батник открыл эту страницу

Попробуй так:

Код:
for /f "tokens=*" %%a in (link.txt) do start %%a
Автор: XXXXL
Дата сообщения: 25.08.2008 05:13

Цитата:
опробуй так:

Elroir, СПАСИБО!!! Работает
Автор: azamapendrus
Дата сообщения: 25.08.2008 12:47
01MDM
Теперь всё скидывает (скопированные файлы и общий отчет) в то место откуда батник запускаю, только кидает прям так- не в папку.
Осталось малость, чтобы всё скидывалось в одну папку(имя папки-это имя машины и дата копирования).

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

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


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