Прилетело задание и никак не могуего испольнить на cmd и ps сможет кто помочь?

Суть задания, есть 100 файлов 1file.log; 2file.log; 3file.log; 4file.log...
есть еще 100 папок 1folder; 2folder; 3folder; 4folder...
(все файлы и папки на рабочем столе)

Нужно средствами PS или CMD раскидать файлы в папки по названию 1file=>1folder; 2file=>2folder...
Подскажите или помогите кто сможет, заранее спасибо=)
  • Вопрос задан
  • 202 просмотра
Решения вопроса 3
@MaxKozlov
1..100 | foreach-Object {
   Move-Item "Path/To/File/$($_)file.log" -Destination "Path/To/Folder/$($_)folder"
}


Так, ради спортивного интереса, на CMD :)
@for /L %%a IN (1,1,100) do @echo move "source/dir/%%afile.log" "dest/dir/%%afolder"

echo, естественно, убрать
Ответ написан
@azarij
В меру опытный никто
$files = Get-ChildItem c:\test\test\*.log -File
foreach ($file in $files){
    $folder_name = "$($file.Name -replace "\D")folder"
    Move-Item $file.FullName -Destination "$($file.FullName | Split-Path)\$folder_name"
}
Ответ написан
@BeatHazard
Добрый день.
Накидал что-то такое на powershell, вроде работает =)
Вместо C:\test укажите путь к вашим файлам

$files = Get-ChildItem -path "C:\test" -file
foreach ($file in $files)
{
$filenumber = ($file.name).split("f")[0]
$filenumber += "folder"
$destination = $file.directory
Move-Item -Path $file.fullname -Destination "$destination\$filenumber"
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы