Показать полную графическую версию : [решено] скопировать, разархивировать и удалить архив в VBS
@echo off
if exist C:\Temp\arhiv.rar (echo skopirovali arhiv iz diska C na rabochii stol) else (echo pri vipolnenii komandi voznikla oshibka.)
copy C:\Temp\arhiv.rar C:\"Documents and Settings"\User\"rabochii stol"\*.*
echo.
@echo off
if exist C:\Temp\arhiv.rar (echo razarhivirovali arhiv iz diska C na rabochii stol) else (echo pri vipolnenii komandi voznikla oshibka.)
unrar x -n C:\Temp\arhiv.rar 1.dat C:\"Documents and Settings"\User\"rabochii stol"
unrar x -n C:\Temp\arhiv.rar 1.exe C:\"Documents and Settings"\User\"rabochii stol"
unrar x -n C:\Temp\arhiv.rar 1.lnk C:\"Documents and Settings"\User\"rabochii stol"
echo.
@echo off
if exist C:\Temp\arhiv.rar (echo udalili arxiv iz diska C papki Temp) else (echo pri vipolnenii komandi voznikla oshibka.)
dell /f C:\Temp\arhiv.rar
echo.
@echo off
if exist C:\Temp\arhiv.rar (echo deistviya vipolnilis:) else (echo oshibka, deistviya ne vipolnilis.)
set /a k=0
for %%i in (arhiv.rar) do set /a k=k+1
echo %k% raz
pause
Помогите пожалуйста написать эту программу в VBS.
Madinka, опишите по-русски, что Вам надо (алгоритм действий).
Задание такое:Написать командный файл.
1)В локальном диске с:\Temp сохранен архив(с расширение rar) с файлами(.exe, .dat, .lnk) .Нужно скопировать,разархивировать на рабочий стол,и удалить этот архив.Все действия записать в блок-файл.
2)Написать командный файл,который анализирует сколько раз выполнялись действия из 1 задания, если были ошибки,то сколько раз.
Выше я написала программу которая выпоняется в командной строке, теперь нужно эту же программу написать в VBS. Помогите пожауйста, я не знаю как в VBS писать.
В локальном диске с:\Temp сохранен архив(с расширение rar) »
Имя архива?
анализирует сколько раз выполнялись действия из 1 задания, если были ошибки,то сколько раз. »
Смысл этого действия от меня ускользает.
Выше я написала программу которая выпоняется в командной строке, »
Выше написана, не обессудьте, полная белиберда.
Имя архива- arhiv.rar. В нем находятся файлы- 1.dat,1.exe,1.lnk. Во втором задании нужно посчитать сколько раз скопировали,разархивировали,удалили архив.
…нужно посчитать сколько раз скопировали,разархивировали,удалили архив. »
Каким образом? Буквально: как Вы себе сие представляете?
set /a k=0
for %%i in (arhiv.rar) do set /a k=k+1
echo %k% raz
Я вот так написала,как это представяла. Задание такое дали, проанализировать сколько раз выполнились действия.
как разархивировать архив в vbs?
архив называется arhiv.rar находится в диске C:\Temp\arhiv.rar, нужно разархивировать его на рабочий стол,вот путь рабочего стола- C:\Documents and Settings\User\rabochii stol
Например, использовать метод «.Run()» или «.Exec()» объекта «WScript.Shell» для запуска rar.exe/unrar.exe/WinRAR.exe с соответствующей командной строкой.
что значит ошибка: разрешение отклонено код 800А0046 ?
Dim FSO
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
If FSO.FileExists("C:Temp\arhiv.rar") Then
FSO.CopyFile "C:Temp\arhiv.rar" , "C:\Documents and Settings\User\rabochii stol" , True
WSCRIPT.echo "arhiv skopirovan na rabochii stol"
End If
вот код, пытаюсь скопировать архив на рабочий стол, пишут ошибка: разрешение отклонено, строка 4, символ 1. Что за ошибка эта?
Madinka, что говорит код:
WScript.Echo WScript.CreateObject("Scripting.FileSystemObject").FolderExists("C:\Documents and Settings\User\rabochii stol")
?
Set WshShell = CreateObject("WScript.Shell")
Set WshExec = WshShell.Exec("cmd.exe /c rar.exe x C:\Temp\arhiv.rar")
SEt lf1 = WshShell.CreateTextFile("C:\log.txt", True)
lf.WriteLine ("arhiv razarhivirovan na rabochii stol")
в этом коде хочу разархивировать архив на рабочий стол и ввести строку ("arhiv razarhivirovan na rabochii stol") в log.txt.
1) почему распаковка архива выполняется на диск с:\ а не на рабочий стол?
2) сообщение в текстовый файл не выполняется, почему?
рабочий стол находится по этому пути: C:\Documents and Settings\User\rabochii stol\*.*
1) почему распаковка архива выполняется на диск с:\ а не на рабочий стол? »
А почему Вы думаете, что извлечение содержимого архива должно — вдруг! — производиться на Рабочий стол? Вы не указываете путь для извлечения, Вы не меняете текущий каталог — чего же удивляться результату?
2) сообщение в текстовый файл не выполняется, почему? »
Сообщение об ошибке:
Ошибка: Объект не поддерживает это свойство или метод: 'WshShell.CreateTextFile'
Вам ничего не говорит? Например, то, что пытаться использовать для создания текстового файла объект «WScript.Shell» (вместо потребного объекта «Scripting.FileSystemObject») — несколько странно.
рабочий стол находится по этому пути: C:\Documents and Settings\User\rabochii stol\*.* »
Рабочий стол находится по любому из:
WScript.Echo WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop")
WScript.Echo WScript.CreateObject("Shell.Application").NameSpace("shell:Desktop").Self.Path
Какой метод нужно использовать, чтобы вывести сообщение в текстовый файл для объекта «WScript.Shell» ?
.Write/.WriteLine (http://www.script-coding.com/WSH/FileSystemObject.html#7.3.7.)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.