我尝试创建一个脚本,将带有子文件夹的文件夹从脚本的源目录复制到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
答案 0 :(得分:0)
这对我有用:
this.$store.dispatch('reload-charts', { url: 'http://some.host/path/to/url' })
.then(() => {
// other stuff
})
这是假设一个像这样的文件夹结构:
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
...
答案 1 :(得分:0)
对于Copy-Item,文档中的示例总是值得一看 - 示例3与您想要的相同:
示例3:将目录的内容复制到另一个目录中 创建目标目录(如果它不存在)
PS C:\> Copy-Item C:\Logfiles -Destination C:\Drawings\Logs -Recurse
此命令将C:\ Logfiles目录的内容复制到 C:\ Drawingings \ Logs目录。如果它,它会创建\ Logs子目录 尚不存在。
由于Copy-Item
会为您创建目标文件夹,因此您不需要先使用New-Item
:
$from = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
$to = "C:\Tools"
Copy-Item "$from\Tools" -Destination $to -Recurse