Выполнить сценарий PS через Jenkins: создать новый файл с отметкой даты и скопировать файл .txt с удаленного сервера на локальный компьютер - PullRequest
0 голосов
/ 12 октября 2018
cd D:\BackupDB  
$name = (Get-Date).tostring("dd-MM-yyyy-hh-mm-ss")  
$newfolder= New-Item -ItemType Directory -Name "db_$name"  
cd $newfolder  
Copy-Item -Path \\remoteserverIP\f$\backup\*.txt -destination $newfolder

выполняется до cd $newfolder, а затем задание выполняется успешно.Похоже, команда Copy-Item пропущена.Что может быть не так?

при выполнении того же сценария для файла .PS1, он выполняется успешно со всеми ожидаемыми результатами.например: если я создаю файл script.ps1 с помощью приведенных выше сценариев и запускаю его напрямую без Jenkins, он работает.

1 Ответ

0 голосов
/ 13 октября 2018

Я думаю, что проблема может заключаться в том, что вы «переходите» в $ newfolder, а затем пытаетесь скопировать файлы в $ newfolder, которого в текущем каталоге не существует.Я ожидаю ошибки на этом этапе, если вы не заставите ее создать новую папку, которую я не думаю, что это то, что вы хотите.Если вы удалите строку «cd $ newfolder», я ожидаю, что это сработает:

cd D:\BackupDB  
$name = (Get-Date).tostring("dd-MM-yyyy-hh-mm-ss")  
$newfolder= New-Item -ItemType Directory -Name "db_$name"  
Copy-Item -Path \\remoteserverIP\f$\backup\*.txt -destination $newfolder
...