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

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

Автор: JI063uk
Дата сообщения: 17.04.2008 12:45
нужна помощь в следующем вопросе - есть reg файл и текстовый файл, с именами компов, нужен батник который закидывает в реестр этот reg файл на компы указанные в текстовом файле заранее спасибо

Автор: devywka_v_kedah
Дата сообщения: 17.04.2008 18:20
Народ, помогите написать батничек, который вырезает все файлы из всех подпапок указаной папки, но не перенося сами папки.. а еще нада указать маски *.* и ключи /s...
Автор: 01MDM
Дата сообщения: 17.04.2008 20:30
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
Автор: devywka_v_kedah
Дата сообщения: 18.04.2008 00:36
ну а эт как, вот написала я в командной строке 1.bat move d:\1 d:\2 пишет не удается найти указаный файл.. или это не так делается?

И как сделать всё это такого типа move (из) d:\1 (в) d:\2 *.txt *.bat (вобщем указывать маски) /s ...(скрытые архивные токо для чтения). Подскажите плиз..
Автор: 01MDM
Дата сообщения: 18.04.2008 09:40
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
Автор: Cosmit
Дата сообщения: 18.04.2008 12:10
помогите написать батничек

нужно чтоб с папки удалялось все кроме файлов на текущюю дату
Автор: 01MDM
Дата сообщения: 18.04.2008 12:57
Cosmit


Код:
@echo off
for /f "tokens=*" %%i in ('dir /b /s /a folder') do (
    echo %%~ti | findstr /v %date% 1>nul && del /q "%%i"
)
Автор: Elroir
Дата сообщения: 18.04.2008 23:44
LeshiyAlex

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


Код:
::Твой код для нахождения файла.
::После него в переменной F_F должно быть название файла

type "%F_F%" | find "KOMBANK">nul
if errorlevel 1 (
del /q "%F_F%"
goto :EOF
)

::Дальше мой код
Автор: JI063uk
Дата сообщения: 19.04.2008 04:52
что не так? Помогите? Этот батник должен считывать с текстового файла имена компов и закидывать им ветку реестра 1.reg но не тут то было... закидывает только на мой комп а на остальные (прописаные в list.txt) по сети не хочет что не так?


@echo off
setlocal
for /f "tokens=*" %%a in (list.txt) do (
call regedit /s 1.reg

)
PAUSE

Автор: Elroir
Дата сообщения: 19.04.2008 05:12
JI063uk

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

Все не так. Ты не находишь, что команды regedit и reg - это все-таки разные вещи?
Изменив код, который тебе показал 01MDM, ты просто добавляешь 1.reg в реестр на локальной машине столько раз, сколько компов в списке.
Автор: Ilyan
Дата сообщения: 19.04.2008 21:27
Всем привет. Помогите. Как через командную строку получить все расшаренные папки компьютера локальной сети.


Код: dir \\xxx.xxx.xxx.xxx
Автор: Elroir
Дата сообщения: 19.04.2008 21:57
Ilyan

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


Код: net view \\xxx.xxx.xxx.xxx
Автор: Ilyan
Дата сообщения: 19.04.2008 22:05
Elroir
Огромное спасибо, работает.
Автор: sk754800
Дата сообщения: 20.04.2008 15:53
Приветствую!

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

Цитата:
D555

Код:@echo off
rasdial "имя соединения" /disconnect
sleep.exe 3
rasdial "имя соединения" "логин" "пароль"

"имя соединения" - название твоего соединения
"логин" - твой логин
sleep.exe 3 пауза 3 сек (можешь сделать сколько тебе нужно)
"пароль" - твой пароль


Замечено, что в разное время суток длительность дисконнекта нужна разная.
Нельзя ли расширить функциональность, чтобы батник получал системное время
и в зависимости от времени устанавливал задержку.

Например, с 10:00 до 20:00 задержка 1200 сек,
в прочее время 2400 сек.

Думаю, пригодилось бы многим ...


Автор: igor_andreev
Дата сообщения: 20.04.2008 16:53
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"
Автор: sk754800
Дата сообщения: 20.04.2008 17:12
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% секунд...
Автор: JI063uk
Дата сообщения: 21.04.2008 08:06

Цитата:
Elroir



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

Автор: Ilyan
Дата сообщения: 21.04.2008 08:53
Что-то не могу найти, чем заменять пробелы в командной строке?
Код: dir D:\Новая Папка
Автор: Elroir
Дата сообщения: 21.04.2008 09:05
Ilyan
Возьми полный путь к директории в кавычки.

Код: dir "D:\Новая Папка"
Автор: Ilyan
Дата сообщения: 21.04.2008 09:14
Elroir
Блин, точно! спасибо
Автор: Elroir
Дата сообщения: 21.04.2008 09:14
JI063uk

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

То, что ты пытаешься сделать - regedit.exe без дополнительных утилит (что-нибудь типа psexec.exe) сделать не может.
Автор: JI063uk
Дата сообщения: 21.04.2008 11:08

Цитата:
Elroir


Вот так делаю

@echo off
for /f "tokens=*" %%i in (list.txt) do (
reg add "\\%%i\hklm\SOFTWARE\direktoria /v strokovyi parametr /t znacenie /f"
)
PAUSE
Автор: Elroir
Дата сообщения: 21.04.2008 11:17
JI063uk
Попробуй так:

Код:
@echo off
for /f "tokens=*" %%i in (list.txt) do (
reg add "\\%%i\hklm\SOFTWARE\direktoria"
reg add "\\%%i\hklm\SOFTWARE\direktoria" /v "strokovyi parametr" /d "znacenie" /f
)
PAUSE
Автор: JI063uk
Дата сообщения: 21.04.2008 14:16

Цитата:
Elroir



@echo off
for /f "tokens=*" %%i in (list.txt) do (
reg add "\\%%i\hklm\SOFTWARE\direktoria" /v "strokovyi parametr" /d "znacenie" /f
)
PAUSE

Работает... Спасибо всем
Автор: mozers
Дата сообщения: 21.04.2008 15:52
Банальная задача заставила меня напрягать мозги:

Код: :: Проверяем наличие файлов в каталоге
:: ===================================
:: этот вариант, даже при отсутствии файлов возвращает Yes
IF EXIST *.* (
ECHO Yes
) ELSE (
ECHO No
)

:: Пришлось мудрить...
:: но этот вариант отрабатывает нормально
FOR /R %%i IN (*) DO SET file=%%i
IF NOT
"%file%"=="" (
ECHO Yes
) ELSE (
ECHO No
)
Автор: igor_andreev
Дата сообщения: 21.04.2008 16:21
mozers
Так можно:

Код:
dir /b source\* | find /v "LjuBaYA XPEHb" >nul && echo Yes || echo No
Автор: gryu
Дата сообщения: 21.04.2008 17:03
mozers

Цитата:
Вот думаю может кто то решил проблему проще чем я ???

IF NOT EXIST .\Distrib\WIN51 goto:se
В случае отсутствия переходит в секцию :se
Автор: mozers
Дата сообщения: 21.04.2008 19:45
igor_andreev
Какая банальная задача и как много интересных решений!
СПАСИБО.

gryu
Ответ - неверный. Переход произойдет только в случае отсутствия каталога.
Автор: svs123456789
Дата сообщения: 21.04.2008 23:04
подскажите плиз, как из bat запустить несколько программ, расположенных в подкаталогах (пути не могут быть абсолютными, так как папка с подкаталогами располагается ны usb)
[more]
@Echo Off
start /b QIP\qip.exe /ifa
start /b "SMSDV\SMSDV.exe"
start /b "Opera AC 3.5.1\OperaAC.exe"
start /b QIP\QiPSpeller\QiPSpeller.exe
cls
rem exit
[/more]
как быть с пробелами в путях ?
Автор: Elroir
Дата сообщения: 21.04.2008 23:25
svs123456789
Второй строчкой поставь

Код: pushd "%~dp0"

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

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


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