要将文件夹的内容复制到PowerShell中的目标文件夹,您需要提供该文件夹的源路径和目标路径,但需要确保在源路径后使用通配符(*),因此整个文件夹内容将被复制。
如果仅提供不带(*)的源文件夹,则仅复制文件夹名称而不包含其内容。我们还需要确保源文件夹和目标文件夹都存在。
Copy-Item -Path D:\Temp\ -Destination D:\TempContent -PassThru
输出结果
使用上面的命令时,您将看到输出为none,因为未指定(*)字符。
PS C:\WINDOWS\system32> Copy-Item -Path D:\Temp\ -Destination D:\TempContent -PassThru Directory: D:\TempContent Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 06-03-2020 10:55 Temp
输出结果
但是,当您指定(*)字符时,文件夹内容将被复制。
Copy-Item -Path D:\Temp\* -Destination D:\TempContent -PassThru
输出结果
PS C:\WINDOWS\system32> Copy-Item -Path D:\Temp\* -Destination D:\TempContent -PassThru Directory: D:\TempContent Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 06-03-2020 10:56 GPO_backup d----- 06-03-2020 10:56 LGPO -a---- 27-01-2020 22:21 13962 Alias1 -a---- 26-01-2020 19:20 13818 aliases.txt -a---- 07-05-2018 23:00 301 cars.xml -a---- 18-01-2020 18:25 48 delim.txt -a---- 18-01-2020 17:25 14 GetContentExample.txt -a---- 29-12-2017 15:16 4526 healthcheck.htm -a---- 29-12-2017 15:16 4526 healthcheck1.htm -a---- 20-01-2020 12:10 1148809 PowerShellcommands.csv -a---- 17-01-2020 22:04 55190 Processes.txt -a---- 18-01-2020 18:22 27620 ReadC.txt -ar--- 13-01-2020 18:19 0 Readonlyfile.txt -a---- 08-12-2017 10:24 48362 servicereport.htm -a---- 08-12-2017 10:24 48362 servicereport1.htm -a---- 18-01-2020 18:44 22 stream1.txt -a---- 08-12-2017 10:16 393 style.css -a---- 12-12-2017 23:04 1034 tes.htmoutput.htm -a---- 08-12-2017 11:29 7974 Test.xlsx -a---- 25-10-2017 08:13 104 testcsv.csv -a---- 18-01-2020 16:26 27620 testreadC.txt
在上面的示例中,您可能已经注意到,还有子文件夹,例如LGPO和GPO_backup,但是当子文件夹复制到目标位置时,它们为空,并且仅父文件夹下的文件被复制。
要同时复制子文件夹的内容,您需要使用–Recurse参数。下面给出一个例子。
PS C:\WINDOWS\system32> Get-ChildItem D:\TempContent\LGPO\ Directory: D:\TempContent\LGPO Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 01-06-2017 03:22 410088 LGPO.exe -a---- 01-06-2017 02:25 638115 LGPO.pdf