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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hello ALL!
 
Дано:
 

Код:
set /P us="Введите LOGIN (domain\login): "
echo %us%
 
set /P pas="Введите пароль: "
echo %pas%

 
Все отлично, все работает. Единственное но - нежелательно чтобы пароль при вводе отображался на экране. Есть способ победить?

Всего записей: 23 | Зарегистр. 09-08-2005 | Отправлено: 20:38 02-10-2008
vladshishkin



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как в командной строке выполнить действие - ОБНОВИТЬ (все окна windows PS )

Всего записей: 177 | Зарегистр. 08-02-2008 | Отправлено: 21:48 02-10-2008
gryu



дикий гусь
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pan812
Тфу блин.  
Ступил.
eсho это как раз указание ОТОБРАЗИТЬ  на экране переменную %pas%  
 

Всего записей: 12952 | Зарегистр. 15-03-2006 | Отправлено: 22:00 02-10-2008 | Исправлено: gryu, 22:21 02-10-2008
GRom V

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

Цитата:
Смотри в сторону netsh firewall.

Спасибки...-  netsh firewall ipv4 set icmpsetting type=8

Всего записей: 466 | Зарегистр. 31-10-2006 | Отправлено: 03:50 03-10-2008
crom86

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем.
Нужна помощь.
Задача: осуществить обновление некоторой папки на ПК пользователей с моей машины. Т. е. проверить, есть ли такая папка, если да то очистить её и скопировать новые файлы с сервера \ моего ПК, создать на рабочем столе ярлыки. Причем делается это .cmd файлом, который копируется на ПК пользователя и выполняется от определенного имени, например psexec’ом.
Полазив пару дней по форуму наваял следующее:

Psexec @list.txt -u домен\пользователь -p пароль -c obnovlenie.cmd
 
Сам .cmd:
:begin
@if not exist c:\program  goto not
@echo "connection - OK, c:\program - OK. Pres ENTER to continue"
@pause >nul
cd /d c:\program
rd /s /q c:\program >nul
net use w: \\10.30.120.5\program /persistent:no
xcopy /i /e /y /h /z /c w:\ c:\program 2>>c:\xcopy.log
copy /y c:\program\main.lnk "c:\Documents and settings\All users\desktop\"
copy /y c:\ program\sub.lnk "c:\Documents and settings\All users\desktop\"
copy /y c:\ program\main.lnk "c:\Documents and settings\All users\Рабочий стол\"
copy /y c:\ program\sub.lnk "c:\Documents and settings\All users\Рабочий стол\"
:end
@exit /b
:not
@echo "c:\program does not exist, pres ENTER to continue"
@pause >nul
@goto end

Вроде работает. Но я в сценариях вообще 0 – это мой первый опыт. Поэтому: что тут плохо, как можно лучше, могут ли быть какие-либо затыки.
Хотелось сделать так: xcopy /i /e /y /h /z /c w:\ c:\program >nul  и чтобы после копирования показыл сколько файлов скопировано (и если возможно общий размер), но как – не знаю.
PS: где можно книги какие посмотреть по командной строке\bat\cmd.
Заранее спасибо всем.

Всего записей: 3 | Зарегистр. 03-10-2008 | Отправлено: 10:35 03-10-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
поскажите в чём трабл
 
вот сам батник, точнее строка
 
бла бла бла
 
cd E:\Veda\Obnobki\
start /w E:\Veda\Obnobki\run.cmd
 
а вот батник run.cmd
php -f indexWse.php
 
т.е. идёт запуск одного батника из другого, и процесс зависает и не делает то что нужно
 
если запустить run.cmd в ручную, то всё ОК
 
так тоже не работает
cd E:\Veda\Obnobki\
start /w run.cmd

Всего записей: 1358 | Зарегистр. 28-10-2007 | Отправлено: 21:12 03-10-2008
Taciturn

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vitrzn
Вместо start используй call.

Всего записей: 1758 | Зарегистр. 26-07-2003 | Отправлено: 22:51 03-10-2008
SLasH

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vitrzn
используй start, но убери параметр /w

Всего записей: 723 | Зарегистр. 08-10-2002 | Отправлено: 00:14 04-10-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vitrzn
А мне кажется, что можно сделать одним батником:

Код:
 
cd E:\Veda\Obnobki\  
start /wait php -f indexWse.php
 



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

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
люди есть проблема с батником, при скармиливании большой строки выдает ошибку: "Слишком длинная входная строка". Как увеличить размер этой строки(буфера)?

Всего записей: 211 | Зарегистр. 10-03-2005 | Отправлено: 09:43 04-10-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Огромное СПАСИБО ВСЕМ кто откликнулся !!!
 
Taciturn
SLasH  
Elroir
 
Но команда Call которую предложил Taciturn решила весь трабл !

Всего записей: 1358 | Зарегистр. 28-10-2007 | Отправлено: 10:08 04-10-2008 | Исправлено: vitrzn, 10:10 04-10-2008
mypka123

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

Всего записей: 88 | Зарегистр. 06-11-2006 | Отправлено: 13:43 04-10-2008 | Исправлено: mypka123, 15:04 04-10-2008
Elroir



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

Код:
 
@echo off
:try
ping -n 180 -w 1000 127.0.0.1>nul
ping [Адрес VPN сервера] | find /i "TTL="
if errorlevel 1 (shutdown -r -f) else (goto try)
 

Раз в три минуты (180 сек.) батник будет проверять связь.  
Вставь адрес VPN сервера и положи батник в Автозагрузку (Startup).

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

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

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

Всего записей: 88 | Зарегистр. 06-11-2006 | Отправлено: 16:06 04-10-2008
Elroir



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

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 16:18 04-10-2008 | Исправлено: Elroir, 16:21 04-10-2008
mptok

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, пожалуйста, составить батничек для отбора файлов по списку.
 
bat-файл будет находится в папке с вложенными подпапками, во всех них и нужно будет производить поиск.
Рядом с ним будет лежать list.txt в котором построчно будут содержаться фрагменты имён файлов (одна строка - один фрагмент), которые нужно будет найти и скопировать в новую папку "found_files".
Примечание - если по одному фрагменту будут найдены несколько файлов, то сохранять их нужно все!
Пожелание - а можно по окончании работы батника автоматически открыть эту новую папку, типа как в vb - Shell "explorer.exe " & Path  

Всего записей: 98 | Зарегистр. 22-04-2006 | Отправлено: 10:00 05-10-2008
RMR

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

Код:
@echo off
title copy by file
FOR /F "tokens=*" %%A IN ('type copy.txt') do call :copy "%%A"
pause
goto :eof
 
:copy
copy "%~1" "C:\found_files\%~nx1"
goto :eof

 
Вот как ты хочешь, но я его не проверял:

Код:
@echo off
title copy by file
rem Папка с файлами (%~dp0 - папка с батником)
set directory=%~dp0
pushd %directory%
md found_files
FOR /F "tokens=*" %%A IN ('type copy.txt') do call :copy "%%A"
explorer.exe %directory%found_files\
pause
goto :eof
 
:copy
copy "%~1" "%directory%found_files\%~nx1"
goto :eof

Вроде так.

Всего записей: 32 | Зарегистр. 23-11-2006 | Отправлено: 21:51 05-10-2008 | Исправлено: RMR, 22:09 05-10-2008
AlexLev59

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди добрые, можно ли отформатировать раздел жесткго диска полностью автоматизировано в режиме коммандной строки, к примеру D: с меткой Temp?

Всего записей: 97 | Зарегистр. 04-12-2006 | Отправлено: 10:20 06-10-2008
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Беда!
C:\WINDOWS|►  
Обновился у Майкростофта! - теперь у меня в место коммандной строки стандартной в заголовке окна вот что -Prompt dei comandi (консольное окно с серым фоном)
Все батники не запускаются - скорее всего консоль думает что запускать их нужно именно с C:\WINDOWS|
 
Что делать то? подскажите!
 
XP SP3

Всего записей: 884 | Зарегистр. 04-09-2008 | Отправлено: 13:27 06-10-2008 | Исправлено: Kilyan, 13:56 06-10-2008
AmunRa

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите как сделать так, что бы backup оставлял последние 20 бекапов, а остальные удалял
Сейчас есть такой скрипт
 
set datetemp=%date:~-10%
chdir /d f:\backup
"C:\Program Files\winrar\rar.exe" a -rr -r -m5 -v4500000 "F:\Backup\%datetemp%_backup.rar" *.*
 
т.е. архив с разбивкой по 4,5 гига, для записи на болванки.
На выходе имеем файлы
06.10.2008_backup.part1.rar
06.10.2008_backup.part2.rar
 
Иногда 1, иногда 2, иногда 3 части
 
Надо что бы оставались только бекапы за последние 20 дней.
Как это можно сделать?

Всего записей: 106 | Зарегистр. 30-09-2005 | Отправлено: 13:54 06-10-2008 | Исправлено: AmunRa, 13:56 06-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru