powershell - 如何从脚本位置复制包含子文件夹和项目的文件夹?
问题描述
我正在尝试创建一个脚本,该脚本将带有子文件夹的文件夹从脚本的源目录复制到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
解决方案
这对我有用:
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
...
推荐阅读
- python - 无法找到列表中的项目
- keras - Keras ImageDataGenerator 验证精度低
- docker - 在 docker-compose.yml 中将环境变量从一个服务传递到另一个服务
- c# - 如何使用 WPF 和 MVVM 在 DevExpress 调度程序控件上获取保存的约会?
- javascript - 使用 Dropzone.js 将文件作为二进制文件上传
- linux - 用于 wxWidgets 的 GdkWindow
- ios - CoreData 上下文在大数据集上保存糟糕的性能
- flutter - 检查类型类列表中的值
- amazon-web-services - 如何仅针对某些 IP 地址在 Kubernetes 中公开 tcp 服务?
- r - 如何将单热编码变量转换为 R 中的单个因素