Показать полную графическую версию : [решено] Заливка файлов на Google Drive
cobra2029
29-08-2021, 14:29
Добрый день!
Возник вопрос на который я не смог найти ответа ни на форуме ни в Internet/
Каким приложением можно заливать файлы с локального компьютера на Google Drive в раздел общие диски?
Дано:
есть папка на компьютере "папка1";
в ней есть файл 1.txt (C:\папка1\1.txt);
есть "папка2" доступна по ссылке на Google Drive:
https://drive.google.com/drive/folders/1q42hCw6R9zKXnvKRfa5lO-P_E74K9Zye?usp=sharing
каким ПО можно:
проверить есть ли уже файл (C:\папка1\1.txt) в целевой папке - "папка2";
если файла нет в целевой папке - залить его туда используя только ссылку.
Решения типа Duplicati или аналоги требующие ввода логина и пароля от аккаунта гугла или требующие предоставления доступа сторонним ресурсам не предлагать. Необходимо ПО/скрипт для локального ПК, желательно под виндой.
cobra2029, берёте RaiDrive, устанавливаете, настраиваете. Затем пользуете для:
заливать файлы с локального компьютера на Google Drive в раздел общие диски »
проверить есть ли уже файл (C:\папка1\1.txt) в целевой папке - "папка2"»
что душе угодно: пакетный файл, Windows Script Host, PowerShell или любую экзотику.
Решения типа Duplicati или аналоги требующие ввода логина и пароля от аккаунта гугла или требующие предоставления доступа сторонним ресурсам не предлагать. Необходимо ПО/скрипт для локального ПК, желательно под виндой. »
Тогда — флаг Вам в руки.
cobra2029
29-08-2021, 18:39
Iska, спасибо!
что душе угодно: пакетный файл, Windows Script Host, PowerShell или любую экзотику. »
Пример когда можно?
RaiDrive »
Тогда — флаг Вам в руки. »
Iska, Вы очень помогли!
Пример когда можно? »
Ну, например (на WSH, с полным разбором):
Option Explicit
Const strNetDrive = "Y:"
Const strUserName4GoogleDrive = "UserName"
Dim objFSO
Dim strNetFolder ' Сетевой каталог
Dim strLocalFolder ' Локальный каталог
Dim strFileName ' Имя файла
Dim strSourceFile
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
strNetFolder = strNetDrive & "\папка2"
strLocalFolder = "C:\папка1"
strFileName = "1.txt"
If IsMapped(strNetDrive, "\\RaiDrive-" & strUserName4GoogleDrive & "\Google Drive") Then
strSourceFile = objFSO.BuildPath(strLocalFolder, strFileName)
If objFSO.FileExists(strSourceFile) Then
If objFSO.FolderExists(strNetFolder) Then
If Not objFSO.FileExists(objFSO.BuildPath(strNetFolder, strFileName)) Then
objFSO.CopyFile strSourceFile, strNetFolder & "\"
Else
' Nothing to do
End If
Else
WScript.Echo "Not found remote folder [" & strNetFolder & "]."
WScript.Quit 1
End If
Else
WScript.Echo "Can't find source file [" & strSourceFile & "]."
WScript.Quit 2
End If
Else
WScript.Echo "Not found share [\\RaiDrive-" & strUserName4GoogleDrive & "\Google Drive]."
WScript.Quit 1
End If
Set objFSO = Nothing
WScript.Quit 0
'-----------------------------------------------------------------------------
'-----------------------------------------------------------------------------
Function IsMapped(strDrive, strShare)
Dim i
IsMapped = False
With WScript.CreateObject("WScript.Network").EnumNetworkDrives
For i = 0 To .Count - 1 Step 2
If StrComp(.Item(i), strDrive, vbTextCompare) = 0 And _
StrComp(.Item(i + 1), strShare, vbTextCompare) = 0 Then
IsMapped = True
Exit For
End If
Next
End With
End Function
'-----------------------------------------------------------------------------
Удалённые имена («удалённые» — здесь «remote», а «deleted») после подключения буквы диска в RaiDrive смотрите по:
net.exe use
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.