Следующий скрипт powershell упорядочивает файлы по их расширению в соответствующем каталоге. Что я сделал, так это сначала нашел все уникальные расширения в целевой папке и вызвал копию для всех этих расширений, но это не работает в Windows. Я использовал правильный путь для Windows.
В настоящее время папки создаются, но файл не копируется из исходной папки в папку назначения.
$source = "/home/shubham/ps/" #location of starting directory
$destination = "/home/shubham/ps/check"; #location where files will be `copied to`
$extensionArray = @(Get-ChildItem ($source) |
Select-Object Extension |
Sort-Object Extension |
Get-Unique -AsString)
echo ($extensionArray[3])
[string[]]$l_array = ($extensionArray | Out-String -Stream) -notmatch '^$' |
select -Skip 2
for ($i=0; $i -lt $extensionArray.Length; $i++) {
$x = $l_array[$i]
$ext = "*" + "$x"
#foreach ($x in $extension_array){
echo ("*" + ($x))
$newsrc = ($source) + "/" + ($ext)
$files = @("", "*" + ($x)) #edit .xlsx to your desired extension
$outputPath = ($destination) + "_" + ($x)
New-Item -ItemType Directory -Force -Path ($outputpath);
Copy-Item -Path $newsrc -Filter ($ext) -Destination $outputPath -Container
}
echo "end"
-Force
и-Debug
сMove-Item
в Windows, чтобы посмотреть, что происходит? Кроме того, пробовали ли вы выполнить код в PS ISE в Windows для просмотра значений переменных? - person trebleCode   schedule 30.11.2018