我目前正在学习如何使用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"
无论如何还是谢谢!
要传入多个文件名,可以在命令中用逗号分隔列出它们。
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
这是一行非常简单的代码。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
文件中的每个条目。
注意:此特定示例将所有文件从“路径”复制到“远程”服务器/机器列表。