Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 6

Автор: tdr1225
Дата сообщения: 05.12.2008 14:41
An4eus

Цитата:
только папки folderi c вложенными файлами..

1) есть ли ограничение (сверху) на кол-во папок folderi, т.е. максимальный i ?
или м.б. есть условие, что i идут от 1 до неважно-чего БЕЗ пропусков
2) все-таки это задача на использование ключей РАРа
Автор: An4eus
Дата сообщения: 05.12.2008 14:50
tdr1225

Цитата:
1) есть ли ограничение (сверху) на кол-во папок folderi, т.е. максимальный i ?
или м.б. есть условие, что i идут от 1 до неважно-чего БЕЗ пропусков

быват 10, 20 и более

Цитата:
2) все-таки это задача на использование ключей РАРа

неа, в батнике нужно организовать цикл по проходу папки, т.е. получения путей, а уж потом - передавать это в RAR !!!
Автор: Sergey_Demchuk
Дата сообщения: 05.12.2008 15:13
Надо следующую задачу прикрутить в контекстное меню.
Есть рисунок, надо при выборе на нем правой кнопкой мыши чтобы в контекстном меню было Преобразовать в...
В командной строке это задается типа так
i_view32.exe 2.jpg /resize=(300,0) /aspectratio /convert=2.jpg
Как это реализовать в реестре?
Автор: xxxzadrotxxx
Дата сообщения: 05.12.2008 22:25

Цитата:
Помогите с 1 батником для того что б включать и отключать ADSL соединение!

Автор: Elroir
Дата сообщения: 05.12.2008 22:34
xxxzadrotxxx
Включать:

Код:
rasdial [название соединения]
Автор: KfarYm
Дата сообщения: 06.12.2008 00:09
Прошу помощи:
Как удалить каталог с лежащим В НЕМ батником, который и должен это сделать?

помнится было такое на форуме, не нашел, однако
Автор: 01MDM
Дата сообщения: 06.12.2008 09:50
KfarYm
С одним условием - батник запускается из консоли и каталог не занят другой программой (т.е щелчком в проводнике или из Far'а не сработает)


Код:
@echo off
set cdir=%cd%
cd ..
rd /s /q "%cdir%" 2>nul
Автор: NIKZZZZ
Дата сообщения: 06.12.2008 10:07
KfarYm

Цитата:
Как удалить каталог с лежащим В НЕМ батником, который и должен это сделать?



Код: cd %temp%
start cmd /c rd /s /q "%~dp0"
Автор: KfarYm
Дата сообщения: 07.12.2008 03:30
01MDM
Увы, не то. Если извне, да из ком строки, то и скрипт мутить не надо…
Хочу сделать типа деинсталлера.
Похоже, надо убить процесс открытой папки, а затем уже удалять ее, те
1. узнать ПИД процесса
2. убить его
3. выйти из папки
4. удалить
может я не прав, есть соображения?
Автор: 01MDM
Дата сообщения: 07.12.2008 04:33
KfarYm

Цитата:
Хочу сделать типа деинсталлера.


Я еще не видел деинсталлятора, который убивает ту папку из которой запущен. Как можно определить PID процесса неизвестно какого приложения? И даже если брать explorer.exe, тот как определить процесс для отдельно взятого окна?

В приведенных выше примерах все файлы удаляются, а сама папка только если из консоли.


Код:
@echo off
cd ..
rd /s /q "%~dp0" 2>nul
Автор: spudbl
Дата сообщения: 07.12.2008 09:35
Привет народ )))
немгоу никак с for разобраться =(

вопщем есть текстовый файл со списком например

123
1234
12
12345

как сделать чтобы 123456 из переменной записалось в этот список а 123 например не записалось потаму что есть там уже))

извините что бред написал по другому никак не могу сформулировать
Автор: Elroir
Дата сообщения: 07.12.2008 10:27
spudbl

Код:
@echo off
set "var=123456"
type list.txt | findstr /r /c:"^%var%$" || echo %var%>>list.txt
Автор: spudbl
Дата сообщения: 07.12.2008 12:12
Elroir

СПАСИБА !

но у меня еще один вопрос))

например у меня есть текстовый файл в нем список адресов , как сделать чтобы он по очереди их от туда брал и пинговал??
Автор: Elroir
Дата сообщения: 07.12.2008 12:44
spudbl

Код:
@echo off
for /f "tokens=*" %%a in (ips_list.txt) do ping %%a
Автор: spudbl
Дата сообщения: 07.12.2008 12:53
и записать результат пинга в файл

Добавлено:
ой туплююю )) ваще жесть))) >> и все дела)
Автор: Elroir
Дата сообщения: 07.12.2008 13:07
spudbl
Под "результатом" ты подразумеваешь сообщение "Есть связь/нет связи" или вывод самой команды ping?

Добавлено:
Именно так :-)
Автор: spudbl
Дата сообщения: 07.12.2008 13:29

Код: @echo off
for /F "tokens=2* delims==" %%A in ('nbtstat -a %%ip%%^| find "MAC"') do for %%B in (%%A) do set macadress=%%B
echo %macadress%, %ip%>>ipmaclist.txt
Автор: Elroir
Дата сообщения: 07.12.2008 14:20
spudbl

Цитата:
подскажете что тут неправельно?

В слове "неправельно" ошибка

Код:
@echo off
for /f "tokens=2* delims== " %%a in ('nbtstat -a %ip% ^| find "MAC"') do set "macaddress=%%b"
echo %macaddress%, %ip%>>ipmaclist.txt
Автор: spudbl
Дата сообщения: 07.12.2008 15:28
Спасиба! :*
Автор: spudbl
Дата сообщения: 08.12.2008 08:34

Код: for /f "tokens=3* delims=." %%a in ('echo %%ip%%') do set var=%%a
Автор: Elroir
Дата сообщения: 08.12.2008 08:40
spudbl
Попробуй так:

Код: ... do set "var=%%a"
Автор: perzend
Дата сообщения: 08.12.2008 09:15
Привет всем!

Задача такая стоит у меня.

Необходимо подсчитать количество символов "\" в строке. Строка берется в цикле из выходных данных команды dir. Т.е. нужно знать сколько раз встречается "\" в пути к файлу.

А еще вопрос. Где то храниться результат такой команды
for /f "tokens=* delims=\" %%i in (dir *.txt /s/b) do

Вернее мне надо знать сколько токенов содержит каждая строка. Или записать в переменную это можно?
Автор: king_stiven
Дата сообщения: 08.12.2008 10:12
perzend

Цитата:
Необходимо подсчитать количество символов "\" в строке.


Код: cd /d "путь к нужному файлу"
:begin
set /a sum+=1
if /i "%~d2\" neq "%cd%" (
cd ..
goto begin
)
set /a sum+=1
call :ert

:ert
echo %sum%
Автор: perzend
Дата сообщения: 08.12.2008 11:35
king_stiven
Спасибо. Буду пробовать щас.

Задача примерно так звучит. Есть каталог TMP, содержащий n-ое количество подкатологов, которые содержат k-ое количество подкаталогов ну и т.п. )) В них лежат файлы, например, *.txt. Необходимо найти самый глубоко зарытый файл в каждом подкатологе каталога TMP и перейти в каталог его содержащий. Ну вот пока все.
Автор: GORA2
Дата сообщения: 08.12.2008 12:18
Помогите разобраться. Есть файл Settings.ini следующего содержания:
Код: ; ------------- File of options -------------
path1=%commander_path%\Folder\Folder 1\file1.exe
path2=!commander_path!\Folder\Folder 1\file2.exe
path3=%commander_path%\Folder\Folder 1\file3.exe
path4=%PROGRAMFILES%\Folder\Folder 2\file4.exe
path5=!PROGRAMFILES!\Folder\Folder 2\file5.exe
Автор: tdr1225
Дата сообщения: 08.12.2008 12:45
An4eus

Цитата:
быват 10, 20 и более


Код: for /L %%i in (1,1,99) do (
wr a -r c:\reqs folder%%i
)
Автор: Elroir
Дата сообщения: 08.12.2008 12:56
GORA2

Цитата:
Почему переменные в восклицательных знаках раскрываются, а в процентах нет?

Потому что восклицательные знаки говорят CMD, что надо произвести отложенное раскрытие переменных, а знаки процента нет.


Цитата:
И как заставить их раскрываться?

Наверно так:

Код:
FOR /F "eol=; delims== tokens=1,2 usebackq" %%i IN ("%pathIni%Settings.ini") DO (
for /f "tokens=*" %%a in ('echo %%j') do set %%i=%%a SET %%i=%%a)
Автор: king_stiven
Дата сообщения: 08.12.2008 13:11
perzend
Пройдись по каталогам командой
FOR /R %%k IN (.) DO (
в каждом каталоге ищи есть ли подкаталоги командой dir с ключом /a:d если нет подкаталогов, то данный самый глубокий
FOR /R %%a IN (.) DO (
for /f "tokens=*" %%c in ('dir /b /a:d')
Автор: perzend
Дата сообщения: 08.12.2008 13:25
king_stiven
Спасибо.
Это понятно. Но мне нужен не просто самый глубокий каталог, а тот в котором лежит файл *.txt.
Автор: king_stiven
Дата сообщения: 08.12.2008 13:36
perzend
Заходишь в каталог
FOR /R %%a IN (.) DO (
если здесь есть нужный файл объявляй его переменным
if exist file set peremennay=file
иди дальше по каталогам в каждом переобъявляй переменную и так пока не будет подкаталогов
for /f "tokens=*" %%c in ('dir /b /a:d')

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: как сохранить сетевые настройки


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