добрый день!
будьте добры, помогите, пожалуйста, написать скрипт:
есть 2 директории:
c:\program files\microsoft office\addins и \\server\addins
нужно сравнить файлы *.xla и *.xlam в директориях по дате создания. если совпадают, то истина, иначе - ложь
PowerShell - сопоставить файлы в двух директориях
-
alyam83
Re: PowerShell - сопоставить файлы в двух директориях
Код:
Код: Выделить всё
-not (diff (ls "c:\program files\microsoft office\addins\*" -inc *.xla, *.xlam -file) (ls "\\server\addins\*" -inc *.xla, *.xlam -file) -Property Name,CreationTime)-
alyam83
Re: PowerShell - сопоставить файлы в двух директориях
выдает ошибку, если файлы в директории отсутствуют
\\server\addins - это эталон.
если файлы отсутствуют или не совпадают я из эталонной папки должен их скопировать.
\\server\addins - это эталон.
если файлы отсутствуют или не совпадают я из эталонной папки должен их скопировать.
-
alyam83
Re: PowerShell - сопоставить файлы в двух директориях
Код:
Код: Выделить всё
robocopy "\\server\addins" "c:\program files\microsoft office\addins" *.xla *.xlam /mir-
alyam83
Re: PowerShell - сопоставить файлы в двух директориях
да. еще /purge
но нужно проверить условие:
если файлы *.xla *.xlam не совпадают по дате с файлами из эталонной папки, или отсутствуют, то ложь.
но нужно проверить условие:
если файлы *.xla *.xlam не совпадают по дате с файлами из эталонной папки, или отсутствуют, то ложь.
-
alyam83
Re: PowerShell - сопоставить файлы в двух директориях
Цитата alyam83:
но нужно проверить условие
Зачем?!
но нужно проверить условие
PowerShell - сопоставить файлы в двух директориях
Зачем?!
-
Iska
Re: PowerShell - сопоставить файлы в двух директориях
метод обнаружения в sccm, чтобы robocopy выполнить.
иначе команда robocopy будет выполняться постоянно
смысл такой: если метод обнаружения выдает ложь, то robocopy выполняется. если истина, то ничего не выполняется
иначе команда robocopy будет выполняться постоянно
смысл такой: если метод обнаружения выдает ложь, то robocopy выполняется. если истина, то ничего не выполняется
-
alyam83
Re: PowerShell - сопоставить файлы в двух директориях
Какая разница, будет дергаться скрипт или robocopy?
Код:
Код:
Код: Выделить всё
$local = ls "c:\program files\microsoft office\addins\*" -i *.xla, *.xlam -file -ea 0
$remote = ls "\\server\addins\*" -i *.xla, *.xlam -file -ea 0
if($local -and $remote) {
-not (diff $local $remote -Property Name,CreationTime)
} else {
$false
}