Цитата 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...