4

我目前正在学习如何使用 PowerShell。我想知道是否有人可以告诉我如何使用 PowerShell 的命令行部分从多个子目录复制多个文本文件。我知道如何在常规 CMD 中执行此操作,它看起来像这样:

for /f "delims=" %F in ('dir \*.txt /s/b') do copy "%~F" "C:\test\" /Y

但显然这在 PowerShell 中不起作用,需要进行一些调整。任何帮助将非常感激。谢谢!

4

3 回答 3

14

我实际上能够弄清楚。我就是这样做的:

get-childitem -path "SOURCE\PATH" -filter *.txt -recurse | copy-item -destination "DESTINATION\PATH" 

不管怎么说,还是要谢谢你!

于 2013-05-30T19:44:02.197 回答
0

这是一条非常简单的线。 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注意:此特定示例将“路径”中的所有文件复制到“远程”服务器/机器列表。

于 2013-08-13T15:41:21.630 回答
0

要传入多个文件名,您可以在命令中以逗号分隔列出它们。

mkdir a, b, c
cp a,b c

这导致两个目录都ab复制到目录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
于 2021-11-07T17:15:58.770 回答