Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Закрытая тема
Настройки темы
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Новый участник


Сообщения: 23
Благодарности: 3

Профиль | Отправить PM | Цитировать


Внимание!


В связи с созданием отдельного форума по скриптовым языкам, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема.

Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь в написании батника". Это и так понятно Заголовок темы должен быть осмысленным.





Исходный вопрос участника
Всех приветствую.
Задача следующая: смотрим в в каталог (например d:\dir\*.*) и если в нем сущетвуют файлы возраст которых более 40 дней, то отправляем email на указанный адрес.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:17, 01-11-2005

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


DImaN!,
Цитата DImaN!:
Как можно в VBScript получить путь к текущей директории »
Так:

Код: Выделить весь код
Wscript.Echo GetScriptDir()

Function GetScriptDir()
	GetScriptDir = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\", -1, 1)-1)
End Function
Цитата DImaN!:
К примеру, на диске С в папке folder находится какой-то file.zip, нужно его распаковать средствами VBScript.
Но нужно, чтобы сам файл скрипт искал в той же директории, где и он сам находится (+ желательно, чтобы он искал все архивы и их распаковывал). »
Можно попробовать примерно так (не тестировал):

Код: Выделить весь код
'On Error Resume Next

Dim sScriptDir, sZipsDir, sUnZipDir

Set FSO 		= WScript.CreateObject("Scripting.FileSystemObject")
Set oShell 		= WScript.CreateObject("Shell.Application")

sScriptDir 		= Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\", -1, 1)-1)

sZipsDir 		= sScriptDir
sUnZipDir 		= sScriptDir

Set oRoot 		= FSO.GetFolder(sZipsDir)
Set oAllFiles		= oRoot.Files

For Each oFile in oAllFiles
	If Right(oFile.Name, 4) = ".zip" Then UnZipFiles oFile.Path, sUnZipDir
Next

Function UnZipFiles(sZipFile, sDest)
	'Get zip file namespace object
	Set oFolder = oShell.NameSpace(sZipFile)
	
	'Get list of items in zip file
	Set oItems = oFolder.Items
	
	'If not exists, create destination folder
	If FSO.FolderExists(sDest) = 0 Then FSO.CreateFolder(sDest)
	
	'Get destination folder namespace object
	Set oDest = oShell.NameSpace(sDest & "\")
	
	'Extract the files
	oDest.CopyHere oItems, 64
End Function

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:35, 28-11-2008 | #491



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для DImaN!

Ветеран


Сообщения: 862
Благодарности: 184

Профиль | Сайт | Отправить PM | Цитировать


Creat0R, огромное спасибо! Все замечательно работает... Осталось только капитально разобраться в Вашем скрипте

-------
It's only after we've lost everything that we're free to do anything... Блог


Отправлено: 10:06, 28-11-2008 | #492

NBA NBA вне форума

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Нужна помощь!!! Нужно скопировать файлы с одного сервера на другой. Проблема заключается в том, что server2 включается каждий день в неизвестное время с 9AM до 12 AM
copy /Y /Z "\\server1\Share$\BACKUP\*.bkp", "\\server2\Share$\BACKUP\*.bkp"
Т.е. если server2 нету должен сработать таймер пока server2 не появится. Команда АТ не катит.
Заранее спасибо за ответы

Отправлено: 12:38, 28-11-2008 | #493

NBA NBA вне форума

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


ето должно быть что-то типа:
if exist \\server2\backup\nul goto process copy /Y /Z "\\server1\Share$\BACKUP\*.bkp", "\\server2\Share$\BACKUP\*.bkp",
но у меня почему-то не получается, скрипт отрабатывает но нет никаких сообщений и файл не копируется
к тому же нужно в указаное время - с 9AM до 12 AM а то он будет бесконечно так лобудеть
P.S.: Я новенький и зелененький

Отправлено: 14:25, 28-11-2008 | #494


Аватара для censored

Пользователь


Сообщения: 70
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как в батнике сделать чтобы был выбор. Например: Выбирите номер дейсвия (1,2,3,4). Допустим если выбирают 1 то выполняется одна команда, если 2 то другая...и т.д.

Отправлено: 15:06, 28-11-2008 | #495



Moderator


Сообщения: 53182
Благодарности: 15432

Профиль | Отправить PM | Цитировать


censored, как-то так:
Код: Выделить весь код
@Echo Off
Set /P Ch=Выберите номер действия (1,2,3,4) 
If "%Ch%"=="1" Echo 1-я команда
If "%Ch%"=="2" Echo 2-я команда
If "%Ch%"=="3" Echo 3-я команда
If "%Ch%"=="4" Echo 4-я команда
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:50, 28-11-2008 | #496


Аватара для censored

Пользователь


Сообщения: 70
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо.

Отправлено: 15:57, 28-11-2008 | #497


Старожил


Сообщения: 222
Благодарности: 19

Профиль | Отправить PM | Цитировать


1. Нужно написать код для проверки большого количества файлов в разных директориях, и в случае отсутствия хотя-бы одного, вывести окошко с текстом об отсутствии файлов. Главное, чтобы эту команду не перечислять после указания каждого файла, она одинакова для всех отсутствующих файлов, должно быть красиво.

Мой вариант:
Цитата:
If Not Exist %Директория%\файл.exe (
msg * "Текст с сообщением"
GoTo :EOF
)
2. Как с помощью CMD создать реально работающий прогрессбар?

3. Чем лучше всего компилировать cmd-файл в .exe

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

Последний раз редактировалось Rostlv, 29-11-2008 в 19:28.


Отправлено: 18:50, 29-11-2008 | #498


Аватара для yurfed

Ветеран


Сообщения: 20046
Благодарности: 3123

Профиль | Отправить PM | Цитировать


Цитата:
GoTo :EOF
не совсем понятен переход в конец содержимого файла (EOF) и не совсем понятен смысл-
Цитата Rostlv:
и в случае отсутствия хотя-бы одного, вывести окошко с текстом об отсутствии файлов. »
Я в этом написании не силён, но при отсутствии файлов больше чем один, вы просто не заметите какой отсутствует. Это будет происходить очень быстро

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:23, 29-11-2008 | #499

D_Master


Сообщения: n/a

Профиль | Цитировать


Rostlv,
Цитата Rostlv:
Нужно написать код для проверки большого количества файлов в разных директориях, и в случае отсутствия хотя-бы одного, вывести окошко с текстом об отсутствии файлов. »
Предложу так:
Код: Выделить весь код
@echo off
if exist file1.ext (
call :yes1 ) else (
call :no1
)
:yes1
if exist file2.ext (
call :yes2 ) else (
call :no2
)
rem и т.д.

:no1
cls
echo Файл file1.ext не существует!
pause
exit

:no2
cls
echo Файл file2.ext не существует!
pause
exit


Но это слишком долго, если нужен
Цитата Rostlv:
код для проверки большого количества файлов в разных директориях »
Цитата Rostlv:
Как с помощью CMD создать реально работающий прогрессбар? »
Насколько мне известно, никак. Копайте в сторону VBS и/или AutoIt'a
Цитата Rostlv:
Чем лучше всего компилировать cmd-файл в .exe »
Quick Batch File Compiler
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:40, 29-11-2008 | #500



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход