PDA

Показать полную графическую версию : выполнение операции в каждой папке диска.


SchoolBoy
17-11-2010, 06:46
Доброе утро.
помогите пожалуйста с проблемой.
есть много архивов на диске с маской *.exe. надо каждый из них разархивировать в ту же папку где он лежит.
у меня тяжело получается разобраться в батовских циклах.
ну и архиватор 7z по специфическим причинам...(получается как-то так:7z e -ogoodfile *.exe).

SchoolBoy
17-11-2010, 10:07
пасиб народ:)помогли на php:) если кому интересно выкладываю получившийся код:) :
<?php
function scan($dir){
// echo "====scan $dir\r\n";
$d = scandir($dir);
foreach ($d as $file)
if (($file != '.') & ($file != '..')) {
if (is_dir($dir . '/' . $file)) scan($dir . '\\' . $file);
else {
if (preg_match('/.+\.exe/i',$file)){

$command = "7z e -y -o$dir\\ogoodfile $dir\\$file";
exec($command);
$command = "copy /Y $dir\\ogoodfile\\$file $dir\\$file";
exec($command);
$command = "rmdir /S /Q $dir\\ogoodfile";
exec($command);
echo $command;
}
}
}
}
scan('h:\\');
?>




© OSzone.net 2001-2012