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

Показать сообщение отдельно

Аватара для YuS_2

Crazy


Contributor


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

Профиль | Отправить 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