首页 > 解决方案 > 如何从脚本位置复制包含子文件夹和项目的文件夹?

问题描述

我正在尝试创建一个脚本,该脚本将带有子文件夹的文件夹从脚本的源目录复制到C:\Tools.

该文件夹创建良好,但没有文件被复制,我没有收到错误消息。

我究竟做错了什么?

下面的代码片段(PowerShell v2.0):

$from = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
$to =  C:\Tools\
New-Item -ItemType Directory -Path C:\Tools
New-Item -Force $to
Copy-Item "$from\Tools" $to -Recurse

标签: powershellpowershell-2.0

解决方案


这对我有用:

New-Item -ItemType directory -Path "C:\Tools" -Force | Out-Null

Copy-Item -Path "$(Split-Path -Path $MyInvocation.MyCommand.Definition -Parent)\Tools\*" `
          -Destination "C:\Tools\" `
          -Recurse 

这是假设这样的文件夹结构:

Root
  |
  |- CopyScript.ps1
  |- Tools
       |- File1.txt
       |- File2.txt
       ...
       |- SubFolder1
       |- Subfolder2
       ...

上面的代码片段将创建以下内容:

C:\tools
   |- File1.txt
   |- File2.txt
   ...
   |- SubFolder1
   |- Subfolder2
   ...

推荐阅读