Это моя текущая структура папок на компьютере с Windows 7:
---myfoolder
|
+---nope
| \---nope
| nope.txt
|
+---wtf
| \---wtf
| wtf.txt
|
+---yep
| \---yep
| yep.txt
|
\---zomg
\---zomg
zomg.txt
В этой структуре есть дубликат папки на каждом слое, например nope\nope
.
Я хотел бы переместить каждый файл в каждой папке на уровень выше, чтобы устранить этот дубликат (обратите внимание, что для простоты я перечислил 1 файл в каждом каталоге, но может быть несколько файлов с разными расширениями).
Вот что я попробовал с powershell из этого ответа:
gci -R | ?{!$_.PSIsContainer} | %{mv $_.fullname $_.directory.parent}
К сожалению, я получаю эту ошибку:
mv : Cannot create a file when that file already exists.
At line:1 char:35
+ gci -R | ?{!$_.PSIsContainer} | %{mv $_.fullname $_.directory.parent}
Я думаю, что происходит что-то подозрительное, потому что между родительской и дочерней папкой есть дублирующееся имя, я попытался также -Force
в выражении mv
но ему удалось только стереть файлы, оставив папки, как они есть (к счастью, я Я настроил тестовую среду перед этим!).
Что мне не хватает? К сожалению, я действительно новичок в написании сценариев PS, спасибо.