Copy-Item и ForEach-Object [duplicate]

У меня была примерно такая же проблема с Laravel 5.5 на ubuntu, наконец, я нашел решение здесь для переключения между версиями php, используемыми apache:

  1. sudo a2dismod php5
  2. sudo a2enmod php7.1
  3. sudo service apache2 restart

и работает

3
задан Peter Mortensen 14 December 2009 в 21:34
поделиться

1 ответ

Eeeeh .... OK?

Если я заменил строку

 Copy-Item $config -Destination  $config_target_dir

на

 Copy-Item $config.FullName $config_target_dir

, она неожиданно волшебным образом сработала ... .

Что дает?

7
ответ дан Peter Mortensen 28 August 2018 в 01:45
поделиться
  • 1
    Не забывайте, что вы имеете дело с реальными объектами в PS. Вообще говоря, когда вы передаете объект командлету, командлеты довольно хороши при выборе правильного свойства для работы. В этом случае вы передаете объект System.IO.FileSystemInfo.FileInfo командлет Copy-Item. Я думаю, что командлет, вероятно, по умолчанию не использует свойство .Name, и для работы копии недостаточно информации. Когда явным образом передаю свойство .FullName командлету, он теперь имеет информацию, которая ему нужна. – EBGreen 3 September 2009 в 13:52
  • 2
    hmm, что объясняло бы ошибку, но not дрянной errormessage. Зачем сообщать как ошибку, что целевое местоположение не существует? – AndreasKnudsen 3 September 2009 в 16:54
  • 3
    Каков текущий рабочий каталог в то время, когда выполняется копирование? Я предполагаю, что это D: \ ServerDeploy \ TestMachine1 \ website. Как и EBGreen, Copy обрабатывает $ config как относительный путь. Таким образом, он считает, что (join-path (pwd) $ config.Name) является полным исходным местоположением. – Richard Berg 18 September 2009 в 22:40
Другие вопросы по тегам:

Похожие вопросы: