Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Копирование с проверкой на наличие файла и последующее его копирование.

Ответить
Настройки темы
Разное - [решено] Копирование с проверкой на наличие файла и последующее его копирование.

Новый участник


Сообщения: 17
Благодарности: 1

Профиль | Отправить PM | Цитировать


Ребят уже весь интернет прошарил на поиски своей проблемы. Ситуация такая: Идет копирование документа war.txt из C:\1 в C:\2 при этом если файл с таким именем уже существует в C:\2, то копирование происходит в C:\3. Было бы идеально если бы писался лог начала копирования и окончания копирования. Надеюсь на вашу помощь! Желательно на повершел.

Отправлено: 09:40, 08-07-2020

 

Новый участник


Сообщения: 17
Благодарности: 1

Профиль | Отправить PM | Цитировать


$VMName ="скрипт"
$log ="C:\Scripts\logs\" + $VMName+ ".log"
$data = Get-Date -Format "dddd MM/dd/yyyy HH:mm"
$VMName+" --- START --- "+$data >> $log
if (-not (Test-Path -Path "\\it9\MSI\*"))
{
Copy-Item -Path "C:\дворф\*" -Destination "\\it9\MSI\" -Recurse -Force -Verbose
}
else {
Copy-Item -Path "C:\дворф\*" -Destination "C:\1" -Recurse -Force -Verbose
}
#===================================
$data = Get-Date -Format "dddd MM/dd/yyyy HH:mm"
$VMName+" --- FINISH --- "+$data >> $log

Последний раз редактировалось tubxtru, 21-07-2020 в 06:08.


Отправлено: 05:10, 21-07-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1167
Благодарности: 486

Профиль | Отправить PM | Цитировать


Цитата tubxtru:
Надеюсь на вашу помощь! Желательно на повершел. »
Разделом немного ошиблись, потому и не ответил никто...
Вообще, условия в задаче не совсем полные.
Цитата tubxtru:
Идет копирование документа war.txt из C:\1 в C:\2 при этом если файл с таким именем уже существует в C:\2, то копирование происходит в C:\3. Было бы идеально если бы писался лог начала копирования и окончания копирования. »
Какие действия должны предприниматься если файл с таким именем существует и в C:\2, и в C:\3?
1. Не копировать совсем.
2. Копировать с переименованием в C:\2
3. Копировать с переименованием в C:\3
И ещё: зачем вести лог копирования, если по Вашим условиям, файл может быт скопирован только два раза, то бишь, для чего такая автоматизация?

-------
scio me nihil scire. Ѫ

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:20, 21-07-2020 | #3


Новый участник


Сообщения: 17
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
Какие действия должны предприниматься если файл с таким именем существует и в C:\2, и в C:\3?
1. Не копировать совсем.
2. Копировать с переименованием в C:\2
3. Копировать с переименованием в C:\3
И ещё: зачем вести лог копирования, если по Вашим условиям, файл может быт скопирован только два раза, то бишь, для чего такая автоматизация? »

Простите пожалуйста за столь долгий ответ. Т.к. я вообще не бум бум в написании скриптов и пришлось учиться самостоятельно. В итоге я переделал скрипт и выглядит он вот так:


#---задаем имя машины и каталоги резервного копирования, каталог логирования, записываем время начала. Недельный!!!!
$VMName ="Chili"
$log ="C:\Scripts\logs\" + $VMName+ ".log"
$data = Get-Date -Format "dddd MM/dd/yyyy HH:mm"
$VMName+" --- START --- "+$data >> $log

#Путь к папке (конечная)
$papka1 = "\\backup\e$\Chili"
$papka2 = "\\nautilus\e$\Chili"

#Источник
$istochnik = "\\0,0,0,0\backup\"


#Выбор папки по последним датам (конечная)
$IshDate1 = (Get-Item \\backup\e$\Chili).LastWriteTime -le (Get-Item \\nautilus\e$\Chili).LastWriteTime
$IshDate2 = (Get-Item \\backup\e$\Chili).LastWriteTime -ge (Get-Item \\nautilus\e$\Chili).LastWriteTime


if ($IshDate1 -ne "True" -and $IshDate2 -eq "True")
{
robocopy "$istochnik" "$papka2" /MIR #делаем синхронизацию
}

elseif ($IshDate1 -eq "True" -and $IshDate2 -ne "True")
{
robocopy "$istochnik" "$papka1" /MIR
}

elseif ($IshDate1 -eq "True" -and $IshDate2 -eq "True")
{
robocopy "$istochnik" "$papka1" /MIR
}

elseif ($IshDate1 -ne "True" -and $IshDate2 -ne "True")
{
robocopy "$istochnik" "$papka1" /MIR
}

#===================================
$data = Get-Date -Format "dddd MM/dd/yyyy HH:mm"
$VMName+" --- FINISH --- "+$data >> $log

Отправлено: 05:09, 27-10-2020 | #4


Новый участник


Сообщения: 17
Благодарности: 1

Профиль | Отправить PM | Цитировать


данный скрип рабочий и применяется на работе.

Отправлено: 05:53, 27-10-2020 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Копирование с проверкой на наличие файла и последующее его копирование.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Поиск файла в компьютере и его дальнейшее копирование на флешку. CharliesGames Скриптовые языки администрирования Windows 3 15-10-2016 09:39
CMD/BAT - [решено] копирование файла во все подкаталоги каталога с проверкой yanus74 Скриптовые языки администрирования Windows 2 17-08-2014 09:40
CMD/BAT - [решено] Копирование файла по его начальному названию (Маске) idlazarev_alex@vk Скриптовые языки администрирования Windows 3 16-08-2014 22:35
CMD/BAT - [решено] Копирование файла по условию его содержимого XSubZero Скриптовые языки администрирования Windows 3 16-05-2012 17:13
[решено] Поиск файлов в подпапках и их последующее копирование D_Master AutoIt 4 10-02-2009 07:32




 
Переход