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

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нужна помощь в следующем вопросе - есть reg файл и текстовый файл, с именами компов, нужен батник который закидывает в реестр этот reg файл на компы указанные в текстовом файле заранее спасибо
 

Всего записей: 55 | Зарегистр. 24-01-2008 | Отправлено: 13:45 17-04-2008
devywka_v_kedah



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, помогите написать батничек, который вырезает все файлы из всех подпапок указаной папки, но не перенося сами папки.. а еще нада указать маски *.* и ключи /s...

Всего записей: 4 | Зарегистр. 17-04-2008 | Отправлено: 19:20 17-04-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
devywka_v_kedah
 
folder - папка с файлами подпапками
folder1 - папка куда перемещаются файлы
 

Код:
 
@echo off
md folder1 2>nul
for /f "tokens=*" %%i in ('dir /b /s /a-d folder\*.*') do move "%%i" folder1
 
 
 
 
Добавлено:
JI063uk
 
Не знаю как с *.reg, возможно или нет удаленно импортировать. Попробуй через reg add
 

Код:
 
@echo off
for /f "tokens=*" %%i in (list.txt) do (
       
      reg add "\\%%i\hklm\......"
      reg add "\\%%i\hku\......"
 
)
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 21:30 17-04-2008
devywka_v_kedah



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ну а эт как, вот написала я в командной строке 1.bat move d:\1 d:\2 пишет не удается найти указаный файл.. или это не так делается?
 
И как сделать всё это такого типа move (из) d:\1 (в) d:\2 *.txt *.bat (вобщем указывать маски) /s ...(скрытые архивные токо для чтения). Подскажите плиз..

Всего записей: 4 | Зарегистр. 17-04-2008 | Отправлено: 01:36 18-04-2008
01MDM



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

Цитата:
вот написала я в командной строке 1.bat move d:\1 d:\2 пишет не удается найти указаный файл..

 
Если надо указывать папки из командной строки то
 
Вызов: 1.bat "d:\1" "d:\2"  
 

Код:
 
@echo off
md %2 2>nul
for /f "tokens=*" %%i in ('dir /b /s /a %1\*.txt *.bat') do move "%%i" %2
 

 
В этом случае будут перемещены все файлы кроме тех, что с атрибутом "системный"

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



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

Всего записей: 287 | Зарегистр. 05-12-2005 | Отправлено: 13:10 18-04-2008
01MDM



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

Код:
 
@echo off
for /f "tokens=*" %%i in ('dir /b /s /a folder') do (
    echo %%~ti | findstr /v %date% 1>nul && del /q "%%i"
)  
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 13:57 18-04-2008
Elroir



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

Цитата:
а можно ещё маленький вопросик, как сделать быструю проверку тот или не тот файл, т.е. есть ли упоминание KOMBANK в файле или нет?  
в например таком формате  
Цитата:ЕСЛИ есть строка KOMBANK то делай ВСЮ ПРОЦЕДУРУ, а ЕСЛИ НЕТ то удали файл  


Код:
 
::Твой код для нахождения файла.  
::После него в переменной F_F должно быть название файла
 
type "%F_F%" | find "KOMBANK">nul
if errorlevel 1 (
del /q "%F_F%"
goto :EOF
)
 
::Дальше мой код
 



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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:44 19-04-2008
JI063uk



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
что не так? Помогите? Этот батник должен считывать с текстового файла имена компов и закидывать им ветку реестра 1.reg но не тут то было... закидывает только на мой комп а на остальные (прописаные в list.txt) по сети не хочет что не так?
 
 
@echo off
setlocal
for /f "tokens=*" %%a in (list.txt) do (
call regedit /s 1.reg
 
)
PAUSE
 

Всего записей: 55 | Зарегистр. 24-01-2008 | Отправлено: 05:52 19-04-2008
Elroir



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

Цитата:
что не так?

Все не так. Ты не находишь, что команды regedit и reg - это все-таки разные вещи?
Изменив код, который тебе показал 01MDM, ты просто добавляешь 1.reg в реестр на локальной машине столько раз, сколько компов в списке.


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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет. Помогите. Как через командную строку получить все расшаренные папки компьютера локальной сети.
 

Код:
dir \\xxx.xxx.xxx.xxx

 
, где xxx.xxx.xxx.xxx - ип адрес.
 
Эта команда выдаёт синтаксическую ошибку. Как правильно это сделать?
 
upd: Win XP.

Всего записей: 4 | Зарегистр. 19-04-2008 | Отправлено: 22:27 19-04-2008 | Исправлено: Ilyan, 22:31 19-04-2008
Elroir



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

Цитата:
Как правильно это сделать?


Код:
net view \\xxx.xxx.xxx.xxx


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:57 19-04-2008
Ilyan

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

Всего записей: 4 | Зарегистр. 19-04-2008 | Отправлено: 23:05 19-04-2008
sk754800



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую!
 
XXXXL
Командная строка, батники, сценарии (bat, cmd) 2

Цитата:
D555  
 
Код:@echo off  
rasdial "имя соединения" /disconnect  
sleep.exe 3  
rasdial "имя соединения" "логин" "пароль"  
 
"имя соединения" - название твоего соединения  
"логин" - твой логин  
sleep.exe 3 пауза 3 сек (можешь сделать сколько тебе нужно)  
"пароль" - твой пароль

 
Замечено, что в разное время суток длительность дисконнекта нужна разная.
Нельзя ли расширить функциональность, чтобы батник получал системное время
и в зависимости от времени устанавливал задержку.
 
Например, с 10:00 до 20:00 задержка 1200 сек,
в прочее время 2400 сек.
 
Думаю, пригодилось бы многим ...
 
 

Всего записей: 89 | Зарегистр. 06-11-2006 | Отправлено: 16:53 20-04-2008 | Исправлено: sk754800, 17:03 20-04-2008
igor_andreev

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

Код:

@echo off
set "sleeptime=2400"
rem для 24-часового формата времени, если время в интервале с 10:00 до 19:59  
for /l %%a in (10,1,19) do if %time:~0,2%/ equ %%a/ set "sleeptime=1200"


Всего записей: 1667 | Зарегистр. 08-12-2004 | Отправлено: 17:53 20-04-2008 | Исправлено: igor_andreev, 17:57 20-04-2008
sk754800



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

Цитата:
sk754800  
 
Код:
@echo off  
set "sleeptime=2400"  
rem для 24-часового формата времени, если время в интервале с 10:00 до 19:59  
for /l %%a in (10,1,19) do if %time:~0,2%/ equ %%a/ set "sleeptime=1200"  

Спасибо!!!
Сейчас поставлю на тестирование...
 
Добавлено в 19:32
Проверил, все работает!  
 
Мое восхищение удивительно компактным и красивым решением!
 
Аппетит приходит во время еды...
Чтобы видеть, сколько осталось ждать реконнекта, я в батнике пишу:
 

Код:
echo time /t
echo Ожидание таймаута - %sleeptime% секунд...

 
Нельзя ли индикацию оставшегося времени как-то прямо в батнике перевести  
в минуты?  
 
Ура! Сделал:

Код:
 
set /a minut=%sleeptime% / 60"
echo Ожидание таймаута %minut% минут...

Всего записей: 89 | Зарегистр. 06-11-2006 | Отправлено: 18:12 20-04-2008 | Исправлено: sk754800, 20:24 20-04-2008
JI063uk



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

Цитата:
Elroir

 
 
Пишет что все ОК, а результата нет даже на моем компе
 

Всего записей: 55 | Зарегистр. 24-01-2008 | Отправлено: 09:06 21-04-2008
Ilyan

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что-то не могу найти, чем заменять пробелы в командной строке?
Код:
dir D:\Новая Папка
выводит совсем не то, что нужно. Тогда как папки без пробелов отображает правильно. Помогите разобраться.

Всего записей: 4 | Зарегистр. 19-04-2008 | Отправлено: 09:53 21-04-2008 | Исправлено: Ilyan, 09:55 21-04-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ilyan
Возьми полный путь к директории в кавычки.

Код:
dir "D:\Новая Папка"


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

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

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

Всего записей: 4 | Зарегистр. 19-04-2008 | Отправлено: 10:14 21-04-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