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

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

Автор: alexvsm
Дата сообщения: 27.06.2008 05:54
GM07
тогда так
Код: rem name - название интерфейса
set name=internet
set ip=0
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /f "tokens=1,2* delims=:-" %%i in ('ipconfig') do (
set int=%%i
if !ip!==1 (
set addr=!int:~-2!
if -!addr!-==-IP- (
set addr=%%k
set addr=!addr:~1,20!
goto done
)
)
set int=!int:~0,-1!
if /i "!int!"=="%name%" set ip=1
)
:done
echo IP !addr!
Автор: MsdLamer
Дата сообщения: 27.06.2008 13:37
Здравствуйте. Помогите пожалуйста сос следующей задачкой. В папочке лежит много *.bat файлов следующего содержания:
rem Для подразделения Сотрудники
rem Подключение сетевых дисков
net use * /delete /yes
net use z: \\fserver\Folder_change$ /yes
net use T: \\fserver\teach$ /yes

необходимо добавить третьей строчкой во все эти Bat файлы C: как сделать? Спасибо.
Автор: 01MDM
Дата сообщения: 27.06.2008 14:06
MsdLamer
Если они все одинаковые:

Код:
@echo off
for %%i in (*.bat) do (
(
    echo rem Для подразделения Сотрудники
    echo rem Подключение сетевых дисков
    echo C:
    echo net use * /delete /yes
    echo net use z: \\fserver\Folder_change$ /yes
    echo net use T: \\fserver\teach$ /yes
) 1>%%i
)
Автор: MsdLamer
Дата сообщения: 27.06.2008 14:11
А если строки после C: не одинаковые как быть? и число их тоже разное... (((
Автор: 01MDM
Дата сообщения: 27.06.2008 14:32
MsdLamer

Цитата:
А если строки после C: не одинаковые как быть? и число их тоже разное... (((


Нужно было сразу правильно поставить задачу

Код:
@echo off
chcp 1251 1>nul
for %%i in (*.bat) do (
(    
echo rem Для подразделения Сотрудники
echo rem Подключение сетевых дисков
echo C:
) 1>"%%i~"
more +3 "%%i" 1>>"%%i~"
move /y "%%i~" "%%i"
)
Автор: JI063uk
Дата сообщения: 28.06.2008 12:00

Цитата:
alexvsm



Столкнулся с таким же вопросом сделал вот так:

@echo off
ipconfig /all > с:\ip.txt
blat с:\ip.txt -to мой@mail.ru -subject "IP-adress" -server mail.ru -u сервер@mail.ru -pw пароль -charset window-1251

З.ы. там ящик сервер@mail.ru надо через blat регить.
Закидываешь в диспетчер задач он тебе на мыло отсылает все ip адреса просто выбери чё надо
Автор: SAOPP
Дата сообщения: 28.06.2008 16:12
Ребят, а можно через батник, выводить информацию о настройке ip (только: ip, mask, gateway и два dns'а)?
Автор: 01MDM
Дата сообщения: 28.06.2008 18:51
SAOPP


Код:
@echo off
for %%i in (ip gateway dns) do (
    netsh diag show %%i | findstr [0-9]\.[0-9]
)
netsh diag show adapter /v | findstr "IPSubnet.*[0-9]"
Автор: SAOPP
Дата сообщения: 28.06.2008 19:28
01MDM
Благодарен
Автор: kumarp
Дата сообщения: 29.06.2008 13:53
Подскажите, пожалуйста, каким образом мне получить список файлов в определенном каталоге FTP-сервера? Для upload использую curl.exe, а вот загружать получается только по одному указанному файлу. Вот поэтому и нужен весь их список в каталоге.
Автор: igor_andreev
Дата сообщения: 29.06.2008 14:12
kumarp
curl -q --output files.txt --list-only ftp://ftp.rarlab.com/rar/
Автор: kumarp
Дата сообщения: 29.06.2008 16:34
igor_andreev
Если я правильно понял, то curl не может загружать файлы по маске *.txt, например. Что ж, буду через список файлов. Спасибо, igor_andreev, Вы меня очень выручили.
Автор: igor_andreev
Дата сообщения: 30.06.2008 02:19
kumarp
А ты не спрашивал, как загрузить файлы по маске. Ты спросил "Подскажите, пожалуйста, каким образом мне получить список файлов в определенном каталоге FTP-сервера?". Я ответил.
Автор: alexvsm
Дата сообщения: 30.06.2008 12:53
JI063uk
там в постановке задачи было выбрать только адрес конкретного подключения и отправить на SMS.
GM07
напиши хоть работает или нет
Автор: kumarp
Дата сообщения: 30.06.2008 23:46
igor_andreev
ок, и как же мне при помощи curl загрузить файлы по маске? что-то раньше не получалось, видимо какой-то ключ пропускаю..
Автор: igor_andreev
Дата сообщения: 01.07.2008 14:19
kumarp
Нет, не пропускаешь Но такой ключ есть у wget, они с curl друг-друга здорово дополняют, удобнее обеими сразу пользоваться. Curl-ом хорошо скачивать пронумерованные файлы, типа url/file[01-99].txt.
Все подряд файлы *.txt из папки на фтп именно curl-ом можно слить так:
for /f %%a in ('curl -q -l ftp://url/dir/ ^| findstr /i ".txt$"') do curl -q -O ftp://url/dir/%%a
Автор: Elver
Дата сообщения: 01.07.2008 22:21
Уважаемые! Помогите сделать BAT-файл. Задача такая: Архивирование файлов по маске (*.doc, *.xls ...) в определенную (сетевую) папку на серваке с предварительным вводом логина и пароля и на локальном компе. Файлы должны собираться по всем дискам с момента последней архивации. Наверное правильнее будет с учетом последнего дня последнего архива по текущую дату. В будущем БАТник будет работать примерно 1 раз в неделю. Может немного чаще. Заранее благодарю!!!
Автор: igor_andreev
Дата сообщения: 02.07.2008 00:17
Elver
Вряд ли раньше сентября тебе помогут. Щас лето, жара, все экстрасенсы по отпускам. Они приедут к осени и наверняка скажут, каким архиватором ты хочешь бэкапить. А нам щас остается только догадываться...
Автор: Elver
Дата сообщения: 02.07.2008 00:40
Лучше РАРом конечно. Но можно и ЗИПом, если это критично.
Автор: magazinus
Дата сообщения: 02.07.2008 15:34
Необходимо батником стократно размножить одну и ту же папку, добавляя в конце к исходному имени индекс 0001, 0002, ... 0100.
Автор: sVx
Дата сообщения: 02.07.2008 17:05
magazinus
создать файл index.txt с cодержимым:
(из exel копи в txt)

Код:
0001
0002
...
0100
Автор: 01MDM
Дата сообщения: 02.07.2008 17:43
magazinus

Цитата:
стократно размножить одну и ту же папку



Код:
@echo off
set "folder=FolderName"
for /l %%i in (1,1,100) do set "index=000%%i" && call:1
goto:eof

:1
xcopy /e "%folder%" "%folder%-%index:~-4%\" 1>nul
Автор: magazinus
Дата сообщения: 02.07.2008 19:31
sVx
01MDM
Огромное спасибо. Оба варианта подошли и оба от гуру.

P.S. Да, второй вариант от гуру идеален...!
Автор: magazinus
Дата сообщения: 05.07.2008 23:34
Есть две равные порции по несколько тысяч папок, также есть два текстовых файла с названием (каждое на отдельной строке) и полным абсолютным путем до них. В первом файле dir1.txt один список, в dir2.txt - второй.
Задача: батником переименовать все папки из dir2.txt названиями из dir1.txt, сохраняя индексы имен.
Примечание: путь может содержать пробелы, спец. символы, русс. буквы.
Автор: Elroir
Дата сообщения: 06.07.2008 01:21
magazinus
Что означает "сохраняя индексы имен"?
Приведи пример части списков из первого и второго файлов, а так же конкретный пример того, что надо переименовать и во что.
Автор: king_stiven
Дата сообщения: 06.07.2008 09:22
Elroir
Я так понимаю, он хочет первый файл из 2 списка переименовать в первый файл из 1 списка,
второй файл из 2 списка переименовать во второй файл из 1 списка,
...
Автор: 01MDM
Дата сообщения: 06.07.2008 10:00
magazinus
Если как понял king_stiven:


Код:
@echo off
setlocal
chcp 1251 1>nul

set skip=0
for /f "tokens=*" %%i in (dir_2.txt) do call:rename "%%i"
goto:eof

:rename
for /f "tokens=*" %%i in ('more +%skip% dir_1.txt') do (
    ren %1 "%~dp1%%~nxi" && goto:skip
)
:skip
set /a skip+=1
Автор: magazinus
Дата сообщения: 06.07.2008 12:13
Elroir
Да, именно так, как написал king_stiven: первое имя из dir1.txt должно присвоиться первому имени из dir2.txt, второе - второму, третье - третьему и т.д. по списку (порции равные, как уже писал).

01MDM
Спасибо, позже проверю - отпишусь.
Автор: Lapochka ili Chai
Дата сообщения: 06.07.2008 18:32
Господа, помогите, пожалуйста (если это не очень сложно!), написать батник, который удалял бы у имени файла, переданного ему как параметр, всё, содержащееся в парных скобках (если скобки парные, т.е. если к открывающей есть закрывающая).

Например, файл

abc(qwer).txt

должен быть переименован в

abc.txt

а файл

abc(qwer(фвыа)).txt

должен быть переименован в тоже в

abc.txt


Автор: Joolz
Дата сообщения: 07.07.2008 13:00
Lapochka ili Chai
Файл полученный из abc(qwer).txt должен затираться файлом из abc(qwer(фвыа)).txt?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


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