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

Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 8 и 8.1 » Разное - Как взаимодействовать с файлами на смартфоне, подключенном к компьютеру через USB?

Ответить
Настройки темы
Разное - Как взаимодействовать с файлами на смартфоне, подключенном к компьютеру через USB?

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


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

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


Как взаимодействовать с файлами на смартфоне, подключенном к компьютеру через USB-кабель?

Я подключаю свой смартфон к компьютеру через USB-кабель.
Захожу в Мой компьютер и в списке доступных дисков вижу следующее:



Если отрыть свойства, то вот что будет показано:



Захожу внутрь и вижу это:



Захожу еще внутрь и вижу структуру каталогов смартфона:



Хочу автоматизировать некоторые действия по бэкапированию определенных каталогов смартфона (т.е. скопировать файлы из определенных папок на компьютер).
Также хочу удалять файлы из определенных каталогов (лишний мусор).

Для удаления ненужных файлов хочу написать бат-файл что-то типа:
Код: Выделить весь код
DEL C:\cache
Проблема лишь в том, что я не могу получить полный путь к файлам файловой системы смартфона из BAT-файла.

Может можно путь к устройству как-то вытащить, где-то посмотреть?
Ведь раз он отображается в списке дисков как обычный диск, значит как-то к нему можно обратиться.

-------
Готовность человека меняться отражает степень его здравомыслия. Жак Фреско


Отправлено: 22:37, 12-04-2019

 

Ветеран


Contributor


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

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


Цитата test009:
я не могу получить полный путь к файлам файловой системы смартфона из BAT-файла. »
А не факт, что он и есть. Возможно, пути существуют только в представлении Проводника. Скопируйте сюда полный путь из адресной строки.

Последний раз редактировалось Iska, 13-04-2019 в 01:40. Причина: Описка


Отправлено: 22:48, 12-04-2019 | #2



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

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


Аватара для yurfed

Ветеран


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

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


test009, и не забывайте, что папки с точкой спереди, это скрытые папки для ОС, основанных на Linux. Не удалите лишнего.
И обратите внимание что Файловая система-Иерархическая структура

-------
Мнение большинства людей всегда ошибочно, ибо большинство людей - идиоты.
~ Эдгар Аллан По ~


Отправлено: 01:22, 13-04-2019 | #3


Аватара для YuS_2

Старожил


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

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


Цитата test009:
Проблема лишь в том, что я не могу получить полный путь к файлам файловой системы смартфона из BAT-файла. »
Windows со смартами работает не на уровне файловой системы, а по протоколу MTP, если они подключены не как USB-накопитель. Поэтому получить желаемое, весьма проблематично...
Цитата:
В Windows MTP не является файловой системой, а поддерживается на уровне прикладного ПО — поэтому «любимый файловый менеджер» не подойдёт.

-------
scio me nihil scire

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

Отправлено: 08:05, 13-04-2019 | #4


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


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

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


Цитата:
А не факт, что он и есть. Возможно, пути существуют только в представлении Проводника. Скопируйте сюда полный путь из адресной строки.
ПУть такой:
Этот компьютер\ASUS_Z010DD\Внутр. накопитель



Цитата:
Windows со смартами работает не на уровне файловой системы, а по протоколу MTP, если они подключены не как USB-накопитель. Поэтому получить желаемое, весьма проблематично...
Очень жаль.
Получается, сделать ничего нельзя?
Буду тогда по-другому выкручиваться.

-------
Готовность человека меняться отражает степень его здравомыслия. Жак Фреско


Отправлено: 15:08, 13-04-2019 | #5


Ветеран


Contributor


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

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


Цитата test009:
ПУть такой:
Этот компьютер\ASUS_Z010DD\Внутр. накопитель »
Оставьте только данное окно Проводника и запустите такой скрипт WSH:
Код: Выделить весь код
Option Explicit

Dim objWebBrowser


With WScript.CreateObject("Shell.Application")
	For Each objWebBrowser In .Windows
		If InStr(1, TypeName(objWebBrowser.document), "ShellFolderViewDual", vbTextCompare) > 0 Then
			WScript.Echo "[" & objWebBrowser.document.Folder & "] " & objWebBrowser.document.Folder.self.Path
		End If
	Next
End With

WScript.Quit 0
Что получится?

Отправлено: 19:33, 13-04-2019 | #6


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


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

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


-------
Готовность человека меняться отражает степень его здравомыслия. Жак Фреско


Отправлено: 23:25, 13-04-2019 | #7


Ветеран


Contributor


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

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


test009, значит, всё-таки можно будет. Только не «bat-файл», а либо WSH, либо PoSH. И взаимодействовать можно будет с этой квази-системой только через интерфейсы Проводника — Set objFolder = objShell.NameSpace("…тут длинный путь, который на Вашем скриншоте приведён во второй-третьей-четвёртой строках…") и т.д.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:08, 14-04-2019 | #8


Аватара для YuS_2

Старожил


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

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


Цитата Iska:
тут длинный путь, который на Вашем скриншоте приведён во второй-третьей-четвёртой строках… »
Это несколько зубодробительно получится...
Если говорить о powershell, то можно поступить проще:
Пример получения списка элементов в каталоге с копированием файлов на компьютер:
Код: Выделить весь код
# Имя смартфона так, как оно выглядит в проводнике
$name = 'Redmi Note 4'

# Путь к каталогу в телефоне, начиная от корневого, так как он выглядит в проводнике
$srcfold = 'Внутренний общий накопитель\Download'

# Целевой каталог:
$dstfold = '.\1'

$shell = new-object -com shell.application

# ssfDRIVES 0x11 (17).
# https://msdn.microsoft.com/en-us/library/windows/desktop/bb774096(v=vs.85).aspx
$tel = $shell.namespace(17).self.getfolder.items()|? name -eq $name
$paths = $srcfold.split('\\')

# Переход к конечному каталогу:
$cur = $tel
foreach ($path in $paths){
	if($path){
		$cur = $cur.getfolder.items()|? name -eq $path
	}
}
# Выборка элементов каталога:
$items = $cur.getfolder.items()
$folders = $items|? isfolder -eq $true
$files = $items|? isfolder -eq $false

# Вывод элементов:
#$folders|select name,isfolder,type
#$files|select name,isfolder,type

# Копирование файлов в $dstfold:
$dst = $shell.namespace((gi $dstfold).fullname).self
foreach ($file in $files){
	$dstpath = join-path -path $dstfold -child $($file.name)
	if (test-path $dstpath){write-host Файл уже существует} else {
		$dst.getfolder.copyhere($file)
	}
}
- по аналоги, можно всё усложнить, вплоть до создания псевдо-файлового менеджера...
но это, всё также, не будет полноценным копированием файлов, т.е. файловые операции будут проходить со всеми недостатками протокола MTP...

-------
scio me nihil scire


Последний раз редактировалось YuS_2, 14-04-2019 в 21:23.


Отправлено: 21:14, 14-04-2019 | #9


Ветеран


Contributor


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

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


Цитата YuS_2:
т.е. файловые операции будут проходить со всеми недостатками протокола MTP... »
Как будто есть выбор.

P.S. А напрямую нельзя — вместо перебора:
Цитата:
Код: Выделить весь код
…
$tel = $shell.namespace(17).self.getfolder.items()|? name -eq $name
$paths = $srcfold.split('\\')

# Переход к конечному каталогу:
$cur = $tel
foreach ($path in $paths){
	if($path){
		$cur = $cur.getfolder.items()|? name -eq $path
	}
}
…
? Мне проверять не на чем.

Отправлено: 23:06, 14-04-2019 | #10



Компьютерный форум OSzone.net » Клиентские ОС Microsoft » Microsoft Windows 8 и 8.1 » Разное - Как взаимодействовать с файлами на смартфоне, подключенном к компьютеру через USB?

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
При подключенном USB устройстве не включается (зависает) компьютер Ment69 Материнские платы и память 18 20-10-2017 08:17
Мышь - Как правильно подключать usb-мышь к компьютеру? doc11111 Прочее железо 1 12-11-2016 19:02
Драйвер - Не могу подключить телефон к компьютеру через USB кабель (отказано в доступе) Behey Microsoft Windows 7 16 06-05-2014 20:39
как взаимодействовать с окном при помощи его заголовка impa AutoIt 5 18-08-2011 10:13
RDP/Citrix/Term - [решено] Как подключиться к удалённому компьютеру через интернет Sasha_wq-1 Сетевые технологии 6 19-10-2009 20:53




 
Переход