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

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

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

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


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

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


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

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



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



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



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



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

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

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

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


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

 

Аватара для YuS_2

Старожил


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

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


Цитата Iska:
А напрямую нельзя — вместо перебора: »
Напрямую было бы можно, если получить заранее, тот самый зубодробительный путь, но где его взять? В этом вся сложность... рекурсии ведь не предоставляет MTP.
А перебором мы, как раз и получаем путь к конечному каталогу. Возможно, способ существует, но мне он не известен, увы...

-------
scio me nihil scire


Отправлено: 06:34, 15-04-2019 | #11



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

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


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


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

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


Понял, попробую, спасибо.

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


Отправлено: 11:25, 16-04-2019 | #12


Аватара для YuS_2

Старожил


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

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


Цитата test009:
попробую »
Тут, пока было время, состряпал двусторонний копировщик, может пригодится:
powershell
script.ps1
Код: Выделить весь код
<#
	.SYNOPSIS 
		Отображение или копирование элементов смартфона, подключенного как
		устройство MTP

	.Description
		Скрипт предназначен для выборки, просмотра или копирования элементов 
		смартфона по протоколу MTP 

	.Parameter Phonename
		Обязательный: Имя смартфона, так, как оно выглядит в проводнике

	.Parameter Sourcepath
		Необязательный: Путь к элементу.
		В смартфоне: Начиная от корневого, так, как он выглядит в проводнике. Например: 
		'Внутренний общий накопитель\temp','Внутренний общий накопитель\temp\example.ext'
		В компьютере: Указываются либо абсолютные, либо относительные пути.
	
	.Parameter Destinationpath
		Необязательный: Путь к целевому каталогу, куда будут копироваться элементы. 

	.Parameter Filter
		Необязательный: Шаблон регулярного выражения (-match), для отбора элементов с
		определенным наименованием.
		Например: '(\.pdf|\.txt)$'
		
	.Parameter From
		Переключатель: Для осуществления копирования выборки элементов из смартфона в
		компьютер. При отсутствии, список элементов выводится в консоль.

	.Parameter To
		Переключатель: Для осуществления копирования выборки элементов из компьютера в
		смартфон. При отсутствии, список элементов выводится в консоль.

	.Example
		.\script.ps1 -phone 'Redmi Note 4'

		Это пример просмотра корневого(ых) каталогов смартфона.

	.Example
		.\script.ps1 -phone 'Redmi Note 4'  `
		-sour 'Внутренний общий накопитель\FOLD','Внутренний общий накопитель\temp\example.ext' `
		-dest .\TEST -filt '(\.ext|\.txt|\.jpeg)$|123' -from 

		Это пример выборки элементов из указанного каталога плюс указанный файл (в смартфоне), с 
		применением к выборке фильтра. Вся выборка копируется в целевой каталог компьютера .\TEST
		
	.Example
		.\script.ps1 -phone 'Redmi Note 4'  `
		-sour .\TEST\1111,c:\test\run.bat `
		-dest 'Внутренний общий накопитель\temp' -filt '(\.bat|\.png)$' -to 

		Это пример выборки элементов из указанного каталога плюс указанный файл (в компьютере), с 
		применением к выборке фильтра. Вся выборка копируется в целевой каталог смартфона
		'Внутренний общий накопитель\temp'
		
	.Notes
		Created By YuS

		Version: 1.00
		Date: 15/04/2019
		Purpose/Change:	Первая версия
		Version: 2.00
		Date: 16/04/2019
		Purpose/Change:	Добавлена возможность копирования в обе стороны.
		Version: 2.01
		Date: 17/04/2019
		Purpose/Change:	Удалена лишняя проверка на существование элемента.		
#>
  
[cmdletbinding()]
param (
	[parameter(Mandatory=$true)]
	[string]$phonename,[string[]]$sourcepath,[string]$destinationpath,[string]$filter,
	[switch]$from,[switch]$to
)

function get-folder ($paths){
	$cur = $root
	if($paths){
		foreach ($path in $paths){
			$cur = $cur.getfolder.items()|? name -eq $path
		}
	}
	return $cur
}

function get-array ($paths){
	foreach ($path in $paths){
		if (test-path -lit $path -patht leaf){gi $path -force} else {dir $path -force}
	}
}

$shell = new-object -com shell.application

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

if (!$destinationpath -and ($to -or $from)){
	write-host Необходимо указать целевой каталог -for cyan
	exit
}

if ($sourcepath -and (test-path $sourcepath)){
	if ($from) {
		write-host 'Ключ [-from] указывается только при копировании из смартфона' -for red
		$from = $false
	}
	$items = (get-array $sourcepath)|? name -match $filter
	$destinat = get-folder $($destinationpath.split('\\'))
} else {
	if ($to) {
		write-host 'Ключ [-to] указывается только при копировании в смартфон' -for red
		$to = $false
	}
	$sarr = if($sourcepath){$sourcepath|%{get-folder $($_.split('\\'))}} else {get-folder}
	$items = $sarr|%{if($_.isfolder){$_.getfolder.items()} else {$_}}|? name -match $filter
}

if ($to){
	$from = $false
	$dst = $shell.namespace($destinat.path).self
	foreach ($item in $items){$dst.getfolder.copyhere($item.fullname)}
} elseif ($from){
	if (!(test-path $destinationpath)){md $destinationpath|out-null}
	$dst = $shell.namespace((gi $destinationpath).fullname).self
	foreach ($item in $items){$dst.getfolder.copyhere($item)}
} else {
	$items|select name,isfolder,type|sort isfolder,name
}

-------
scio me nihil scire


Последний раз редактировалось YuS_2, 17-04-2019 в 08:22.


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



Компьютерный форум 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




 
Переход