Copy-Item -Recurse 跳过创建一个子目录
Copy-Item -Recurse skips Creation of one sub-directory
我想将包含所有子目录的所有文件复制到另一台机器(使用 WinRM 会话),我的脚本的复制部分如下所示:
$sourceDir = "C:\Build\Application1"
$targetDir = "C:\Install\Application1"
Copy-Item -ToSession $session -Path $sourceDir\* -Destination $targetDir -Recurse -Force
$sourceDir
包含两个子目录:
C:\Build\Application1 (3 files)
|
+--- Application Files (empty)
|
+--- Application_2016_12_10_2 (10 files)
场景一
如果文件夹 Application1
不存在 但在 C:\Install
中,执行我的脚本后目标文件夹结构如下所示:
C:\Install\Application1 (3 files)
|
+--- Application_2016_12_10_2 (10 files)
场景二
如果文件夹 Application1
已经 存在于 C:\Install
中 ,目标文件夹结构如预期的那样:
C:\Install\Application1 (3 files)
|
+--- Application Files (empty)
|
+--- Application_2016_12_10_2 (10 files)
为什么我的脚本没有在第一个场景中创建文件夹 Application Files
?有人可以澄清一下吗?
我正在使用 Powershell 5
查看您面临的问题是因为您告诉 powershell 从 sourcedir\* 复制项目。结果,它正在寻找它的内容。
所以直接使用它就可以了:
$sourceDir = "C:\Build\Application1"
$targetDir = "C:\Install\Application1"
Copy-Item -ToSession $session -Path $sourceDir -Destination $targetDir -Recurse -Force
希望对您有所帮助
我想将包含所有子目录的所有文件复制到另一台机器(使用 WinRM 会话),我的脚本的复制部分如下所示:
$sourceDir = "C:\Build\Application1"
$targetDir = "C:\Install\Application1"
Copy-Item -ToSession $session -Path $sourceDir\* -Destination $targetDir -Recurse -Force
$sourceDir
包含两个子目录:
C:\Build\Application1 (3 files)
|
+--- Application Files (empty)
|
+--- Application_2016_12_10_2 (10 files)
场景一
如果文件夹 Application1
不存在 但在 C:\Install
中,执行我的脚本后目标文件夹结构如下所示:
C:\Install\Application1 (3 files)
|
+--- Application_2016_12_10_2 (10 files)
场景二
如果文件夹 Application1
已经 存在于 C:\Install
中 ,目标文件夹结构如预期的那样:
C:\Install\Application1 (3 files)
|
+--- Application Files (empty)
|
+--- Application_2016_12_10_2 (10 files)
为什么我的脚本没有在第一个场景中创建文件夹 Application Files
?有人可以澄清一下吗?
我正在使用 Powershell 5
查看您面临的问题是因为您告诉 powershell 从 sourcedir\* 复制项目。结果,它正在寻找它的内容。
所以直接使用它就可以了:
$sourceDir = "C:\Build\Application1"
$targetDir = "C:\Install\Application1"
Copy-Item -ToSession $session -Path $sourceDir -Destination $targetDir -Recurse -Force
希望对您有所帮助