Иногда Perl может творить чудеса в случаях как это. Вы уже попробовали, если маленький сценарий, такой как это мог бы превзойти по характеристикам удар и основные команды оболочки?
#!/usr/bin/perl
open(ANNOYINGDIR,"/path/to/your/directory");
@files = grep("/*\.png/", readdir(ANNOYINGDIR));
close(ANNOYINGDIR);
for (@files) {
printf "Deleting %s\n",$_;
unlink $_;
}
Или другой, возможно, еще быстрее, подход Perl:
#!/usr/bin/perl
unlink(glob("/path/to/your/directory/*.png")) or die("Could not delete files, this happened: $!");
Править: Я просто дал моим сценариям Perl попытку. Более подробный делает что-то правильно. В моем случае я попробовал это виртуальным сервером с 256 МБ RAM и полумиллиона файлов.
time find /test/directory | xargs rm
результаты:
real 2m27.631s
user 0m1.088s
sys 0m13.229s
по сравнению с
time perl -e 'opendir(FOO,"./"); @files = readdir(FOO); closedir(FOO); for (@files) { unlink $_; }'
real 0m59.042s
user 0m0.888s
sys 0m18.737s
Технической разницы между Technet и полностью лицензированной копией Windows нет, поэтому достаточно просто заменить ваш ключ на ключ, который подпадает под правильно лицензированное использование; для этого откройте командную строку с повышенными привилегиями и запустите:
slmgr /ipk [new key]
Затем вам придется повторно активировать свой сервер.
Помните, что с правильно лицензированными серверами VL вы можете либо использовать свой MAK (вредитель), либо установить сервер управления ключами (KMS, меньше вредителей в долгосрочной перспективе).
При установке KMS для VL, вы должны установить все ваши клиентские ключи на 74YFP-3QFB3-KQT8W-PMXWJ-7M648
(для версии DC), а затем установите свой настоящий ключ VL в диспетчер ключей.
Этот специальный ключ сообщает окнам о необходимости поиска для KMS и активируйте против него.