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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ir /b /o:-d "destination folder" >c:/dirlist   - получаем отсортированый список файлов по дате.
FOR /F "skip=20" %%i in (c:/dirlist) do del /s /q %%i - удаляем все кроме последних 20-и

Всего записей: 1 | Зарегистр. 19-09-2008 | Отправлено: 16:47 06-10-2008
Integrity

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dir /b /o:-d "destination folder" >c:/dirlist  
for /f "skip=20" %%i in (c:/dirlist) do del /s /q "destination folder/%%i"

Всего записей: 3 | Зарегистр. 06-10-2008 | Отправлено: 18:37 06-10-2008
mptok

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RMR
не работает для моей задачи...
Похоже как-то надо скомбинировать ключи FOR /R (для поиска во всех каталогах) и FOR /F (для пофайловой обработки)...

Всего записей: 103 | Зарегистр. 22-04-2006 | Отправлено: 20:17 06-10-2008
11943499

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Собственно задача, ввести текст в окно консоли, чтобы он не отображался на экране.  
Это текст затем передается следующей внешней проге в качестве пароля на ее запуск.  
Было бы просто, если бы можно было выбрать фон и цвет текста одинакового цвета, но такой режим не работает (  
Возможно ли такое посредством cmd ?
 
Добавлено:
Собственно задача,  
ввести текст в окно консоли, чтобы он не отображался на экране.  
Это текст затем передается следующей внешней проге в качестве пароля на ее запуск.  
Было бы просто, если бы можно было выбрать фон и цвет текста одинакового цвета, но такой режим не работает (  
Возможно ли такое посредством cmd ?
Спасибо

Всего записей: 132 | Зарегистр. 06-10-2008 | Отправлено: 22:58 06-10-2008
Elroir



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

Цитата:
можно ли отформатировать раздел жесткго диска полностью автоматизировано в режиме коммандной строки, к примеру D: с меткой Temp?


Код:
format d: /v:Temp /force

 
Добавлено:
11943499

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

Предположим, что программа, которой надо передать пароль называется program.exe и получает пароль, как аргумент командной строки:

Код:
 
@echo off
setlocal
echo hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5>in.com
set /p=Enter password :<nul
for /f "tokens=*" %%i in ('in.com') do set "password=%%i"
del /q in.com
start program.exe %password%
 

 
Добавлено:
Falshkens
Integrity
Внимательно читай(те) вопрос. Надо оставить не просто 20 последних файлов, а 20 последних бекапов.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:08 07-10-2008
01MDM



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

Цитата:
Надо что бы оставались только бекапы за последние 20 дней.  

 
С помощью forfiles.exe

Код:
 
forfiles -pF:\Backup -m*.rar -d-20 -c"CMD /C del @FILE"
 

 

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

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

Цитата:
Предположим, что программа, которой надо передать пароль называется program.exe и получает пароль, как аргумент командной строки:  
 
Код:  
@echo off  
setlocal  
echo hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5>in.com  
set /p=Enter password :<nul  
for /f "tokens=*" %%i in ('in.com') do set "password=%%i"  
del /q in.com  
start program.exe %password%  
 

 
Спасибо ! Здесь используется assembler ? )

Всего записей: 132 | Зарегистр. 06-10-2008 | Отправлено: 08:45 07-10-2008
Elroir



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

Цитата:
Здесь используется assembler ?

Нет, в этом коде ассемблер не используется. Утилита in.com, в данном случае, создается простым копированием набора символов в файл. Хотя, тот, кто это сделал - наверняка пользовался ассемблером или встроенной утилитой debug (я взял готовый пример).

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 11:54 07-10-2008
Junior44

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Возможно, подобное уже было, но я не нашел
есть такая задачка, но сам пока не могу сделать, поскольку в этом не разбираюсь
 
пингуем удаленный модем 10.5.27.1
пинг отправляем раз в 30с поскольку канал по GPRS чтоб не создавал много трафика
если пинг не проходит в течении 5 попыток перезагружать комп.
Помогите кто может.
 

Всего записей: 5 | Зарегистр. 07-10-2008 | Отправлено: 19:05 07-10-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Junior44
Что-то вроде этого:

Код:
 
@echo off
setlocal
set "count=0"
:try
ping 10.5.27.1 | find /i "TTL=">nul
if %errorlevel%==0 (
set "count=0"
goto wait
)
set /a "count+=1"
if "%count%"=="5" shutdown -r -f
:wait
ping -n 31 -w 1000 127.0.0.1>nul
goto try
 


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:43 07-10-2008
Junior44

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
 
А что за адрес 127.0.0.1 ?

Всего записей: 5 | Зарегистр. 07-10-2008 | Отправлено: 21:51 07-10-2008
Greshnik1980

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D:
cd \Veda\receive
..\rar.exe e -o+ -y -p- *.rar
 
cd D:\Veda\
CONS2.EXE /adm /receive /base* /yes /noreindex0
CONS.EXE /adm /quest /base* /noreindex0
 
 
copy D:\Veda\RECEIVE\LAST_REC.txt D:\Veda\SEND\
 
cd D:\Veda\send\
..\rar a -df -AG[DD-MMM-YYYY-HH-MM-SS] IMS *.QST *.txt  
 
cd..
del \veda\receive\*.usr
del \veda\receive\*.rar
 
Господа подскажите пожалуйста как сделать небольшую выдержку перед тем как копировать LAST_REC.txt,а то он даже не успевает создаться,и соотвественно не копируется(пишется что данный файл не найден) и батник продолжает свою работу дальше.И второй вопрос в асмом конце всётаки не удаляются USR

Всего записей: 17 | Зарегистр. 07-10-2008 | Отправлено: 22:18 07-10-2008
RMR

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

Код:
@echo off
title copy by file
rem Папка с файлами.
set directory=C:\found_files
md %directory%
pushd %~dp0
for /F "tokens=*" %%i in ('type copy.txt') do call :copy "%%i"
explorer.exe %directory%
pause
goto :eof
 
:copy
setlocal enabledelayedexpansion
for /R %%i in ("%~1") do (
set file=%%i
set file=!file:"=!
copy "!file!" "%directory%\%~1"
rem Если важно, чтобы не было ошибки отсутствия файла
rem if exist !file! copy "!file!" "%directory%\%~1"
)
goto :eof
В copy.txt можешь использовать wildcard
В прошлом варианте я просто считал, что пути абсолютные.

Всего записей: 32 | Зарегистр. 23-11-2006 | Отправлено: 00:03 08-10-2008 | Исправлено: RMR, 00:06 08-10-2008
Elroir



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

Цитата:
А что за адрес 127.0.0.1 ?

Loopback адрес любого компьютера. по другому - localhost.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 03:57 08-10-2008
SoAlDm

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Обращаюсь ещё и в эту тему, так как писал ещё вот здесь:
http://forum.ru-board.com/topic.cgi?forum=62&topic=13556&start=1700 [?]
 
Помогите решить проблему, или может хоть что-то подскажите.
 
Вопрос заключается в том как проконтролировать  запущеный процесс? Если он "завис" тогда "убить" его принудительно и выполнить команду для его перезапуска.  
Смотрел команды tasklist и taskkill если бы знал как обработать %errorlevel% после их работы все можно было бы сделать. Но такое впечатление. что они этого не дают. Или можно? Или я ошибаюсь?
Заранее спасибо.

Всего записей: 3 | Зарегистр. 07-10-2008 | Отправлено: 10:38 08-10-2008
AmunRa

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Специалисты, добрый день
 
Подскажите текст батничка, который удаленно перезапускает службы на сервере.  
Задача такая, надо каждый час перезапускать ПО очереди 3 службы на удаленном сервере. Причем в случае, если служба перезапустилась с ошибками - повторять этот процесс.

Всего записей: 106 | Зарегистр. 30-09-2005 | Отправлено: 12:10 08-10-2008
MIHMIH007



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите плиз... вот такой вот батник:
@echo off
md c:\"Program Files"\MathType
md c:\"Program Files"\MathType\REG
md c:\"Program Files"\MathType\Fonts
md c:\"Program Files"\MathType\Language
md c:\"Program Files"\MathType\MathPage
md c:\"Program Files"\MathType\"Office Support"
md c:\"Program Files"\MathType\Preferences
md c:\"Program Files"\MathType\System
md c:\"Program Files"\MathType\Translators
md c:\"Program Files"\MathType\Fonts\PostScript
md c:\"Program Files"\MathType\Fonts\TrueType
copy /y c:\PATCH\REG c:\"Program Files"\MathType\REG
copy /y c:\PATCH\MathType c:\"Program Files"\MathType
copy /y c:\PATCH\MathType\Fonts c:\"Program Files"\MathType\Fonts
copy /y c:\PATCH\MathType\Fonts\TrueType c:\windows\Fonts
copy /y c:\PATCH\MathType\Fonts\PostScript c:\"Program Files"\MathType\Fonts\PostScript
copy /y c:\PATCH\MathType\Fonts\TrueType c:\"Program Files"\MathType\Fonts\TrueType
copy /y c:\PATCH\MathType\Language c:\"Program Files"\MathType\Language
copy /y c:\PATCH\MathType\MathPage c:\"Program Files"\MathType\MathPage
copy /y c:\PATCH\MathType\"Office Support" c:\"Program Files"\MathType\"Office Support"
copy /y c:\PATCH\MathType\Preferences c:\"Program Files"\MathType\Preferences
copy /y c:\PATCH\MathType\System c:\"Program Files"\MathType\System
copy /y c:\PATCH\MathType\Translators c:\"Program Files"\MathType\Translators
 
При запуске выводятся сообщения типа:
c:\PATCH\MathType\System\copybtn.exe
c:\PATCH\MathType\System\MT6.dll
c:\PATCH\MathType\System\Toolbar.eql
Скопировано файлов:         3.
 
Как сделать так чтобы ничего не выводилось??
cmdow не предлагать так как этот вариант мне не подойдёт....

Всего записей: 743 | Зарегистр. 05-12-2006 | Отправлено: 13:56 08-10-2008
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
MIHMIH007
copy file1 file2 >nul

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 14:26 08-10-2008
MIHMIH007



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А можно без использования  cmdow убрать вообще дос окно?

Всего записей: 743 | Зарегистр. 05-12-2006 | Отправлено: 15:27 08-10-2008
Shustrikf

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста на такой вопросик ... задача сделать сетевой принтер (со своими ручными настройками)не ходя на РС так как их очень много ... вопросик ? написал батник  
 
rundll32 printui.dll,PrintUIEntry /if /b "Xerox WorkCentre 7346" /f "\\Tig-200\Distr\Drivers\Printers\Xerox WorkCentre 7345\Windows 2K XP 03 Vista PCL6\32-Bit\Russian\x2GPINX.inf" /r "file:" /m "Xerox WorkCentre 7346 PCL6"
pause  
 
для сетевой рассылки дров тока он без админовских прав не стартует(((  
Решение 1-е : Сделать так написать батник с админовскими правами а как прописать чета не получается (пример администратор: Tomas,пароль:qwertyu123)  
Решение 2-е: Написать батник с msi установщиков где ((или) а главное как???) есть ручные настройки принтера?
Решение 3-е: Написать батник установщиков где есть ручные настройки принтера?
Помогите кто сможет очень надо за срочность отдельное спасибо ...

Всего записей: 11 | Зарегистр. 07-10-2008 | Отправлено: 15:40 08-10-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