我目前正在学习如何使用 PowerShell。我想知道是否有人可以告诉我如何使用 PowerShell 的命令行部分从多个子目录复制多个文本文件。我知道如何在常规 CMD 中执行此操作,它看起来像这样:
for /f "delims=" %F in ('dir \*.txt /s/b') do copy "%~F" "C:\test\" /Y
但显然这在 PowerShell 中不起作用,需要进行一些调整。任何帮助将非常感激。谢谢!
我目前正在学习如何使用 PowerShell。我想知道是否有人可以告诉我如何使用 PowerShell 的命令行部分从多个子目录复制多个文本文件。我知道如何在常规 CMD 中执行此操作,它看起来像这样:
for /f "delims=" %F in ('dir \*.txt /s/b') do copy "%~F" "C:\test\" /Y
但显然这在 PowerShell 中不起作用,需要进行一些调整。任何帮助将非常感激。谢谢!
我实际上能够弄清楚。我就是这样做的:
get-childitem -path "SOURCE\PATH" -filter *.txt -recurse | copy-item -destination "DESTINATION\PATH"
不管怎么说,还是要谢谢你!
这是一条非常简单的线。 test-servers.txt
是包含您的服务器/机器列表的文件(每行一个条目)。
Get-Content C:\Temp\test-servers.txt | ForEach-Object { Invoke-Command -ScriptBlock{Copy-Item -Path C:\Temp\resources\* -Destination ("\\" + $_ + "\C$\<path-of-interest>\")}}
注意:是一个以递归$_
方式保存文件中每个条目的变量。test-servers.txt
注意:此特定示例将“路径”中的所有文件复制到“远程”服务器/机器列表。
要传入多个文件名,您可以在命令中以逗号分隔列出它们。
mkdir a, b, c
cp a,b c
这导致两个目录都a
被b
复制到目录c
中。
PS C:\Users\Vitorio> dir c
Directory: C:\Users\Vitorio\c
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 07.11.2021 18:13 a
d---- 07.11.2021 18:13 b