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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dis74
nircmd в шапке посмотри

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 18:21 17-06-2008
GROVIK



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем здравствуйте!  
Нужен батник, с помощью которого проверяется каждые 5-10 мин связь с инетом (ping ru-board.com или proxy ) и только если связи нет убивал proxю как службу и запускал его-же. ( proxy- это CoolProxy чатсо вылетает. другие прокси пробовал -или сложны в настройках или со своими тараканами)
перечитал только 50% страниц форума есть похожие задачи, но не совсем
подгонял - видно руки кривоваты -или мозг перегрелся - не хочет работать
короч что-то типа  
ping 192.168.1.1  
esle errorlevel=1  
 net stop proxy.exe
 net start proxy.exe
pause 5000  

большое спаисбо за Вашу помощь (и не только мне много интересного повсем ответам почитал)!

Всего записей: 21 | Зарегистр. 13-10-2006 | Отправлено: 19:46 18-06-2008
the_olview

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем!!!
Помогите, все голову сломал, мне нужно через командную строку ввести комп в домен и задать ему имя(сейчас я в рабочей группе) подскажите как сделать!!!!!

Всего записей: 1 | Зарегистр. 18-06-2008 | Отправлено: 20:42 18-06-2008
Elroir



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

Цитата:
нужен батничек следующего содержания:  
1. на сетевом дискев папке Z:/files находит файлы с маской 100*.797 и удаляет все кроме того у которого дата создания СЕГОДНЯ.  
2. удаляет с сетевого диска G:/storage все файлы с маской *.txt и *.001  
3. распаковывает ARJ архив (100*.797 из 1-ого пункта) в G:/storage  

 

Код:
 
@echo off
setlocal
pushd "Z:\files\"
for %%a in (100*.797) do call :check "%%a" "%%~ta"
for %%a in (txt 101) do del /q G:\storage\*.%%a
for %%a in (100*.797) do arj x -y %%a G:\storage\
popd
goto :EOF
:check
set "fdate=%~2"
set "fdate=%fdate:~0,10%"
if not "%date%"=="%fdate%" del /q "%~1"
 

 
Добавлено:
GROVIK
 

Код:
 
@echo off
:try
ping www.google.com | find "TTL=">nul
if errorlevel 1 (
net stop proxy.exe  
net start proxy.exe
)
ping -n 300 -w 1000 127.0.0.1>nul
goto try
 



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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:58 18-06-2008 | Исправлено: Elroir, 23:04 18-06-2008
zorgman



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос. Как используя стандартную виндовую команду ftp, работать в пасивном режиме? Или подскажите как можно реализовать копирование файлов с фтп-шника в пасивном режиме при помощи скриптов.

Всего записей: 17 | Зарегистр. 22-07-2007 | Отправлено: 12:08 19-06-2008 | Исправлено: zorgman, 12:18 19-06-2008
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zorgman
Лично я как ни старался но заставить стандартную ftp работать в пассиве не смог.
Ну и фиг с ним - есть великолепные альтернативы - wget, cURL.

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 13:00 19-06-2008
zorgman



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mozers Огромное спасибо.
 
 
Добавлено:
mozers это конечно нагло, но может подскажите. Есть какая нибуть опция,в wget, которая б позволяла не закачивать не дозолитые файлы? Сейчас посторяюсь обьяснить проблему. Просто получается так что если в момент заливки файлы на фтп начать его от тудово скачивать, то он скачает, не дожидаять пока файл будет полностью залит, а это не есть гудд.  

Всего записей: 17 | Зарегистр. 22-07-2007 | Отправлено: 13:46 19-06-2008 | Исправлено: zorgman, 14:07 19-06-2008
gryu



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

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

(ИМХО) насколько я знаю, это только настройками самого сервера. "Не отображать недокаченные файлы".
Клиенту под скачку по барабану. Как он поймёт что файл не докаченный?

Всего записей: 13019 | Зарегистр. 15-03-2006 | Отправлено: 14:29 19-06-2008
zorgman



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gryu
ну типа какой нибуть EndOfFile или запрет на копирование когда заливаются файлы.
 
Добавлено:
Вот ещё нашол утилитку lftp  
http://lftp.yar.ru/

Всего записей: 17 | Зарегистр. 22-07-2007 | Отправлено: 15:12 19-06-2008
Joolz

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
the_olview
netdom join /?
netdom renamecomputer /?

Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 16:57 19-06-2008
Fantom 14



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

Код:
set OUTPUT=out.txt
if "%STDOUT_REDIRECTED%" == ""(
  set STDOUT_REDIRECTED=yes
  cmd.exe /c  %0 %* >%OUTPUT%
 exit /b %ERRORLEVEL% )

 
подскажите что тут написано и что это делает?
точнее несколько не правильно стоит вопрос: я понимаю что тут написано нечто подобное записи лога выполняемого батника. но тут есть одна весчь: каждый раз занова создается файл out.txt а хотелось бы чтобы лог каждый раз добавлялся в конец данного файлаю подскажите как это можно сделать....

Всего записей: 322 | Зарегистр. 23-10-2004 | Отправлено: 21:25 19-06-2008 | Исправлено: Fantom 14, 21:35 19-06-2008
Elroir



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

Цитата:
хотелось бы чтобы лог каждый раз добавлялся в конец данного файла

 

Код:
 
set OUTPUT=out.txt  
if "%STDOUT_REDIRECTED%" == ""(  
  set STDOUT_REDIRECTED=yes  
  cmd.exe /c  %0 %* >>%OUTPUT%  
 exit /b %ERRORLEVEL% )
 



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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 01:17 20-06-2008
GROVIK



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

Всего записей: 21 | Зарегистр. 13-10-2006 | Отправлено: 09:23 20-06-2008
SalaVilaVat



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не могу решить следующюю проблему, при обработке текстового файла с TAB разделителями или точка с запятой смежные разделители приравниваются к одному, соответственно поля съезжают, например Есть файл со списком работников их телефонами, мылом , номером кабинета и нужно обновить данные в AD. если  есть пустые поля то получается смещение
пробовал и символ табуляции и точку с запятой, может есть решение
 
for /F "tokens=1,2,3,4,5,6,7 delims=    "  %%a in (users.txt) do (
dsquery user -name "%%a"|dsmod user -tel "%%b"
dsquery user -name "%%a"|dsmod user -office "%%c"
dsquery user -name "%%a"|dsmod user -title "%%d"
dsquery user -name "%%a"|dsmod user -dept "%%e"
dsquery user -name "%%a"|dsmod user -email "%%f"
)

Всего записей: 78 | Зарегистр. 24-01-2003 | Отправлено: 20:24 20-06-2008
Fantom 14



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[b]Elroir[/bс]
спасибо не знал..............

Всего записей: 322 | Зарегистр. 23-10-2004 | Отправлено: 21:16 20-06-2008
Joolz

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SalaVilaVat
Значит не оставляй пустых полей.
Заполни в виде типа:

Код:
Иванов;123-45-67;No;No;No;ivanov@ourmail.ru;No
Сидоров;No;405;ХЗ;IT;sid@ourmail.ru;No

А потом в своем коде подправь:

Код:
for /F "tokens=1,2,3,4,5,6,7 delims=;"  %%a in (users.txt) do (
dsquery user -name "%%a"| if NOT "%%b"=="No" dsmod user -tel "%%b"
...
и т.д.
 

 
Кстати, чтобы не делать на одного пользователя многократно один и тот же запрос dsquery, можно сделать так:

Код:
for /F "tokens=1,2,3,4,5,6,7 delims=;"  %%a in (users.txt) do (
dsquery user -name "%%a"
if %ERRORLEVEL%==0 (
if NOT "%%b"=="No" dsmod user -tel "%%b"
if NOT "%%c"=="No" dsmod user -office "%%c"
if NOT "%%d"=="No" dsmod user -title "%%d"
if NOT "%%e"=="No" dsmod user -dept "%%e"
if NOT "%%f"=="No" dsmod user -email "%%f"
)
)
 

Всего записей: 100 | Зарегистр. 24-01-2008 | Отправлено: 13:44 23-06-2008 | Исправлено: Joolz, 14:29 23-06-2008
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Требуется вырезать часть файла (или обрезать с начала\конца файл):
файл бинарный
1. найти смещение контрольных сигнатур в начале\конце файла.
2. скопировать данные между этих смещений.

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 08:36 24-06-2008
zxcvb



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет
Нужна помощь по одной маленькой проблеме, помогите пожалуйста.
Нужно написать батник который бы  копировал полностью внутренности одного фолдера на одном диске, на другой диск при этом замерить время начала, время окончания, и если возможно скорость копирования.
Возможно это обсуждалось, найти не выходит а мне срочно надо... Прошу прощение за ранее.
У меня есть такой код, но к сожалению не  записывает время . Не знаю как исправить. По идее должен работать ,копирует но не показывает время Как сделать чтоб показывал время, а лучше скорость

Код:
 
 
Echo TEST COPY >> log.txt
%Time% >> log.txt
copy *D:\Collection\* E:\Copy\* > nul
%Time% >> log.txt

Всего записей: 365 | Зарегистр. 14-01-2003 | Отправлено: 00:11 25-06-2008 | Исправлено: zxcvb, 00:25 25-06-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zxcvb
 
echo %time% >> log.txt

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 00:27 25-06-2008
zxcvb



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM спасибо, но я наверно что-то не то делаю. написал вам в личку...

Всего записей: 365 | Зарегистр. 14-01-2003 | Отправлено: 01:52 25-06-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