|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Копирование файлов за определенную дату |
|
PowerShell - [решено] Копирование файлов за определенную дату
|
Старожил Сообщения: 173 |
Профиль | Отправить PM | Цитировать Добрый день,
Необходимо скопировать файлы из папки в папку созданные в определенный день При помощи команды Get-ChildItem | Get-Member нашел свойство в котором можно найти дату создания файла, также нашел, как из даты выдрать только день (Get-ChilItem - path "c:\folder\file.txt").CreationTime.Day На выходе получаем день создания - 21, 22, и т.д. Не могу отфильтровать файлы в папке с только таким значением - например 22, т.е. за 22 число файлы скопировать. Никак шарик за ролик не завернется, |
|
Отправлено: 16:38, 15-12-2010 |
Старожил Сообщения: 173
|
Профиль | Отправить PM | Цитировать Ура, шарик за ролик закатился....
Get-ChildItem | Where-Object {$_.CreationTime.Day -like "23"} |
Отправлено: 16:46, 15-12-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 173
|
Профиль | Отправить PM | Цитировать Наваял вот такой скрипт, можно ли его оптимизировать по скорости работы.
Скажем я пытался в команде Get-ChilItem в -Filter запихнуть два значения: *.log, *.ini. Но два он не обрабатывает или я не правильно, что-то написал. Пришлось запихнуть данные в -include ( он субъективно, медленнее работает) Можно ли не создавать переменную $MM? Там текущий месяц. Если просто подоставить в: то скрипт ничего не обрабатывает, как-будто в этом месяце не было записей... Сам скрипт: $AddDirectory = Read-Host "Please write name Directory" New-item "$AddDirectory" -ItemType Directory Write-Host "$addDirectory was create in current directory" $MM = (get-date).Month $AddDay = Read-Host "Please write day then log file was create" $AddPCName = Read-Host "Please write PC name." $ArrayPC = $addPCName -split "[,]" foreach ($1 in $ArrayPC) { IF (Test-connection -Quiet -Delay 1 -Count 2 -ErrorAction SilentlyContinue -ComputerName $1) { $file = Get-ChildItem \\$1\C$\folder\* -Include *.log, *.ini | ' Where-Object {$_.CreationTime.Day -like "$AddDay" ' -and $_.CreationTime.Month -like "$MM"} New-item -Path $AddDirectory -Name $1 -ItemType Directory Copy-Item $file -Destination $AddDirectory\$1 "Компьютер $1 включен. Файлы скопированы." } Else {"Компьютер $1 выключен.Создана запись в файл ShutDownPC." Add-Content -Path "$AddDirectory\ShutDownPC.txt" -Value "Компьютер $1 выключен" }} |
Отправлено: 18:32, 15-12-2010 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - копирование файлов за текущую дату с сервера на сервер | 6a6yko | Скриптовые языки администрирования Windows | 10 | 21-06-2011 13:00 | |
CMD/BAT - Копирование файлов | LightZone | Скриптовые языки администрирования Windows | 4 | 13-10-2010 13:33 | |
CMD/BAT - [решено] Перемещение файлов, содержащих дату в названии. | Майклс | Скриптовые языки администрирования Windows | 4 | 27-07-2010 15:34 | |
Доступ - Запрет на копирование файлов | shponder | Microsoft Windows 2000/XP | 6 | 04-03-2009 08:40 | |
Копирование файлов с CD | ProkVS | Автоматическая установка Windows 2000/XP/2003 | 18 | 31-03-2007 06:42 |
|