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

Название темы: [решено] Бекап
Показать сообщение отдельно

Ветеран


Contributor


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

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


Alexander_88,
Вот вариант vbs+wmi
Код: Выделить весь код
FileIn = "Z:\Box_In\rfpro180408.xlsm"
DirOut = "Z:\Box_Out"

Set WArg = WScript.Arguments
If WArg.Count = 2 Then
	FileIn = WArg.Item(0)
	DirOut = WArg.Item(1)
End If

On Error Resume Next
Set File = GetObject("winMgmts:CIM_DataFile.Name='" + Replace(FileIn, "\", "\\") + "'")
If Err.Number <> 0 Then
    WScript.Echo "File:" + vbCrLf + FileIn + vbCrLf + vbCrLf +"Error" + vbCrLf + Err.Description
    WScript.Quit 1
End If

NewName = Mid(File.LastModified, 1, 14)
With CreateObject("Scripting.FileSystemObject")
    NewName = DirOut + "\" + .GetBaseName(FileIn) + " " + NewName + "." + .GetExtensionName(FileIn)
    A = .CopyFile(FileIn, NewName, True)
End With

If Err.Number <> 0 Then
    WScript.Echo "In File:" + vbCrLf + FileIn + vbCrLf + vbCrLf + "Out Folder:" + vbCrLf + DirOut + vbCrLf + vbCrLf + "Error" + vbCrLf + Err.Description
    WScript.Quit 2
End If

On Error GoTo 0
'  WScript.Echo "Script completed successfully"
WScript.Quit 0
Можно вызвать скрипт следующим образом, например:
Код: Выделить весь код
Wscript //NoLogo "Z:\я180914.vbs" "Z:\Муз\108_Бригада_С\12 - Скорый поезд придет в 6 часов.mp3" "Z:\Box_Out"
То есть
Wscript //NoLogo "Имя скрипта" "Имя копируемого файла" "Имя выходной папки"
Если скрипт запускается без аргументов, то возьмутся данные из явно прописанных путей в самом скрипте

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 14-09-2018 в 21:43.

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

Отправлено: 21:32, 14-09-2018 | #7

Название темы: [решено] Бекап