PowerShell:选择对象:选择文件的一半
Windows 10,版本10.0.19042.868 你好, 我有一个PowerShell脚本,用于选择第一个XXX文件并移动到另一个文件夹PowerShell:选择对象:选择文件的一半,powershell,Powershell,Windows 10,版本10.0.19042.868 你好, 我有一个PowerShell脚本,用于选择第一个XXX文件并移动到另一个文件夹 Get-ChildItem -File *.txt | Sort-Object Name | Select-Object -First 25000 | Move-Item -Destination C:\txtFilesToProcess\ 但是如何从Get ChildItem中选择一半文件?将Get ChildItem的输出分配给一个变量,以便您提前
Get-ChildItem -File *.txt | Sort-Object Name | Select-Object -First 25000 | Move-Item -Destination C:\txtFilesToProcess\
但是如何从
Get ChildItem
中选择一半文件?将Get ChildItem
的输出分配给一个变量,以便您提前知道文件的数量
这是公认的解决方案:
$files = Get-ChildItem -File *.txt | Sort-Object Name
$files | Select-Object -First ($files.Count / 2) | Move-Item -Destination C:\txtFilesToProcess\
使用单个管道的替代方法(更多用于学术目的,因为它使代码更难理解):
- 在继续执行下一个管道命令之前,
命令周围的括号(aka)收集数组中该命令的所有输出Get ChildItem
- 此外,还需要使用,以防止枚举数组元素(有关详细信息,请参阅)。它创建了一个数组,其中包含来自
的输出数组作为单个元素Get ChildItem
- 现在,
对整个ForEach对象
输出数组进行操作,因此我们可以使用Get ChildItem
获取文件总数$\uuuu.Count
Get ChildItem
的输出分配给一个变量,以便您提前知道文件数
这是公认的解决方案:
$files = Get-ChildItem -File *.txt | Sort-Object Name
$files | Select-Object -First ($files.Count / 2) | Move-Item -Destination C:\txtFilesToProcess\
使用单个管道的替代方法(更多用于学术目的,因为它使代码更难理解):
- 在继续执行下一个管道命令之前,
命令周围的括号(aka)收集数组中该命令的所有输出Get ChildItem
- 此外,还需要使用,以防止枚举数组元素(有关详细信息,请参阅)。它创建了一个数组,其中包含来自
的输出数组作为单个元素Get ChildItem
- 现在,
对整个ForEach对象
输出数组进行操作,因此我们可以使用Get ChildItem
获取文件总数$\uuuu.Count
Get ChildItem
。最好使用variableGet-ChildItem-File*.txt |排序对象名|选择对象-优先(Get-ChildItem-File*.txt)。计数/2 |移动项目-目的地C:\txtFilesToProcess\@vivekkumarsing我会避免这样做,因为您有双Get-ChildItem
。更好地使用变量