|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов |
|
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов
|
Новый участник Сообщения: 23 |
Внимание! В связи с созданием отдельного форума по скриптовым языкам, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь в написании батника". Это и так понятно ![]() |
|
Отправлено: 16:17, 01-11-2005 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Блин ничего не понял... тыкал, тыкал.. (
мне нужно F:/111/download.dat F:/111/global.dat F:/111/opera6.ini перенести с заменой в E:\Program Files\Opera\profile и потом автоматически запустить opera.exe.... если не трудно помогите плз.. |
Отправлено: 01:09, 24-11-2008 | #471 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Уважаемый amel27 подсказал с написанием кода, который прекрасно работает.
@Echo Off Set PRGDIR=%ProgramFiles%\XXX Set PRGEXE=yyy.exe Set PRGNEW=yyy_new.exe Set PRGOLD=yyy_old.exe If Not Exist "%PRGDIR%\%PRGNEW%" MSG * "Предупреждение! Обновлений программы не обнаружено!"& Exit If Exist "%PRGDIR%\%PRGOLD%" DEL /Q /F "%PRGDIR%\%PRGOLD%" If Not Exist "%PRGDIR%\%PRGOLD%" REN "%PRGDIR%\%PRGEXE%" "%PRGOLD%" If Not Exist "%PRGDIR%\%PRGEXE%" REN "%PRGDIR%\%PRGNEW%" "%PRGEXE%" If Exist "%PRGDIR%\%PRGNEW%" MSG * "Ошибка! Обновление программы не произведено, обратитесь к администратору!"& Exit MSG * "Сообщение! Программа обновлена, для применения изменений необходим выход из программы." ![]() ![]() ![]() |
Отправлено: 01:19, 24-11-2008 | #472 |
D_Master
Сообщения: n/a |
|
Отправлено: 05:53, 24-11-2008 | #473 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата Bosika:
On Error Resume Next PrgDir = "MyProgram" ' Путь относительно %ProgramFiles% PrgExe = "yyy.exe" PrgNew = "yyy_new.exe" PrgOld = "yyy_old.exe" Set objWSS = CreateObject("WScript.Shell") Set objFSO = CreateObject("Scripting.FileSystemObject") PrgDir = objWSS.ExpandEnvironmentStrings("%ProgramFiles%") &"\"& PrgDir PrgExe = PrgDir &"\"& PrgExe PrgNew = PrgDir &"\"& PrgNew PrgOld = PrgDir &"\"& PrgOld If (objFSO.FileExists(PrgNew) = vbFalse) Then Call MsgBox("Обновлений программы не обнаружено!",32,"Сообщение") Wscript.Quit End If If (objFSO.FileExists(PrgOld) = vbTrue ) Then objFSO.DeleteFile PrgOld If (objFSO.FileExists(PrgOld) = vbFalse) Then objFSO.MoveFile PrgExe, PrgOld If (objFSO.FileExists(PrgExe) = vbFalse) Then objFSO.MoveFile PrgNew, PrgExe If (objFSO.FileExists(PrgNew) = vbTrue ) Then Call MsgBox("Обновление программы не произведено, обратитесь к администратору!",16,"Ошибка") Wscript.Quit End If Call MsgBox("Программа обновлена, для применения изменений необходим выход из программы.",48,"Предупреждение") |
|
Отправлено: 07:37, 24-11-2008 | #474 |
Сообщения: 53488
|
Профиль | Отправить PM | Цитировать Цитата D_Master:
On Error Resume Next Const ForAppending = 8 Set objFSO = CreateObject("Scripting.FileSystemObject") objFSO.DeleteFile("_drives.cf") Set objLogFile = objFSO.OpenTextFile("_drives.cf", ForAppending, True) Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2") For Each objDisk In objWMIService.ExecQuery ("Select DeviceID From Win32_LogicalDisk Where ((DriveType = 2 Or DriveType = 3) And (MediaType = 0 Or MediaType = 11 Or MediaType = 12 Or MediaType Is Null))") objLogFile.Write(objDisk.DeviceID) objLogFile.WriteLine Next |
|
Отправлено: 10:03, 24-11-2008 | #475 |
D_Master
Сообщения: n/a |
Petya V4sechkin, благодарю, всё супер!
![]() |
Отправлено: 13:03, 24-11-2008 | #476 |
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать Несколько вопросов по CMD:
1. Нужна команда позволяющая запуск CMD-файла только в указаной директории, если запустить файл в любой другой - отмена выполнения. 2. Как указать в CMD-файле проверку наличия большого количества файлов (примерно 40), при отсутствии хотя-бы одного из указанных - отмена выполнения. 3. Как указать проверку включена ли служба, если нет - запустить службу. 4. Можно ли прописать в CMD-файл проверку наличия определённого процесса, при отсутствии такого - выход из исполняемого CMD. 5. Если по какой либо причине, например после принудительного завершения процесса CMD.exe, мой CMD-файл прекратил работу, какая должна быть команда самоудаления. 6. Как самоудалить скрытый CMD, [Del /F /Q %0] - не работает. 7. Как прописать в файл дистрибутива svcpack.in_ свою строку? |
Отправлено: 13:36, 24-11-2008 | #477 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать D_Master, спасиб большое! Выручил! Всё работает!
![]() |
Отправлено: 14:26, 24-11-2008 | #478 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать Нужен батник.
Имеется папка 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м днем стерлась ![]() Только одна проблема наверное, последний созданный файл будет не законченым и каждую секунду будет набирать вес, тоесть нужно сделать чтоб его в архив не бросало и не перемещало. Батник будет добавлен в Назначенные задания и будет выполнятся каждый час. Заранее спасибо |
Отправлено: 14:49, 24-11-2008 | #479 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Rostlv
1. Каталог запуска ROOT 2. Одноименный LST-файл содержит список обязательных файлов Set ROOT=C:\WINDOWS DIR /B/A:-D "%ROOT%\*" >"%~dpn0.tmp" FindStr /IVBEG:"%~dpn0.tmp" "%~dpn0.lst" If Not ErrorLevel 1 Exit @Echo Текст скрипта 4. Например так: Set PROCESS=notpad.exe For /F %%i In ('TaskList^|FindStr /BIC:"%PROCESS%"') Do Set PROCNAME=%%i If "%PROCNAME%"=="" Exit @Echo Текст скрипта 7. распаковать -> записать -> запаковать |
Отправлено: 11:42, 25-11-2008 | #480 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] VBS/WSH. Сортировка файлов по дате. | rancid | Скриптовые языки администрирования Windows | 3 | 23-07-2009 06:38 | |
[решено] Как с помощью CMD(BAT) запустить запароленный sfx архив! | ofcoss | Автоматическая установка приложений | 7 | 10-07-2009 00:41 | |
CMD/BAT - [решено] Нужна помощь в создании bat-ника для распаковки и переименования файлов/папок | Nun-Nun | Скриптовые языки администрирования Windows | 6 | 14-05-2009 15:45 | |
Нужна снова ваша помощь в написании интересного скрипта | Magnus | Вебмастеру | 2 | 09-06-2005 20:26 | |
Нужна помощь в написании скрипта | Magnus | Вебмастеру | 7 | 06-05-2005 10:53 |
|