Фон
Недавно подписавшись на бокс-аккаунт на 50 ГБ, я решил загрузить коллекцию фотографий своего компьютера. Но большинство моих каталогов содержали подкаталоги с файлами, размер которых превышал разрешенный лимит загрузки одного файла в 250 МБ. Поэтому требовалась некоторая подготовительная работа.
Я гуглил проблему, ожидая увидеть robocopy
решение, но наткнулся на интригующий скрипт powershell
от Jugal Shah вместо этого. Опираясь на свои ранее несуществующие знания о powershell
, я установил необходимые файлы, немного погуглил, а затем собрал приведенный ниже скрипт, который работал в моем базовом тестировании.
Вопросы
У меня есть пара вопросов, прежде чем я запущу это на своих драгоценных реальных файлах (да, есть резервные копии, но всегда осторожно).
- Какие-либо серьезные проблемы с моим подходом ниже, можно ли и нужно ли его улучшить?
- Случайно во время тестирования я обнаружил, что скрипт не будет работать со скрытыми папками - является ли эта функция лучшим способом заранее исключить определенные каталоги (скажем, 2013 и 2014) из скрипта? , или это можно сделать прямо в
powershell
?
Скрипт
#Mention the path to search the files
$path = "c:\temp"
##Find out the files greater than equal to below mentioned size
$size = 249MB
##Limit the number of rows
$limit = 10000
##Find out the specific extension file
$Extension = "*.*"
##script to find out the files based on the above input
get-ChildItem -path $path -recurse -ErrorAction "SilentlyContinue" -include $Extension | ? { $_.GetType().Name -eq "FileInfo" } | where-Object {$_.Length -gt $size} | Move-Item -Destination C:\misc
Моя структура каталогов (первый уровень)