powershell - Get-ChildItem 但没有文件夹(完成此部分)并且只有某些文件类型
问题描述
我正在尝试获取一个 powershell 脚本,该脚本从一个文件夹(及其子文件夹)中移动所有文件并将它们全部放在另一个文件夹中。到目前为止,我已经让它工作正常,但我也希望它只移动特定的文件类型(.mp3)。
*这是我第一次玩 powershell,所以对我来说有点 ahhh :D)
我试过像
-and (
$_.extension -eq ".mp3" )
在 Where-Object 下,这会导致它完全按照以前的方式执行 - 它正在复制其他非 .mp3 文件。
和
-include "*.JPG"
在-Recurse
顶部之前。powershell 终端打开,但屏幕上没有弹出任何内容,并立即关闭。
这就是我目前的工作:
Get-ChildItem "E:\Downloads\*" -Recurse |
Where-Object {
$_.PSIsContainer -eq $true
} |
Foreach-Object { robocopy $_.FullName "E:\Music\Compressed" }
解决方案
您需要做的就是:
Get-ChildItem "E:\Downloads" -Recurse -File -Filter "*.mp3" | foreach { copy $_.FullName "E:\Music\Compressed" }
稍微解释一下:
-File
这告诉它只返回文件-Filter "*.mp3"
这告诉它只抓取 .mp3 文件copy
很好,不需要robocopy
推荐阅读
- python - 添加输入验证后循环无法工作
- vlc - 如何为 VLC 设置 HTTP 用户代理?
- video-streaming - 是什么让 ID3 定时元数据独一无二?
- java - 为什么我的 DefaultListModel 没有出现在我的 JList 上?
- c# - System.InvalidOperationException:转发新会话时出错,找不到:Capabilities {browserName:chrome,marionette:false}
- c# - 如何点击其他进程'`stderr`和`stdout`?
- python - Python IDLE 运行代码与其他 IDE 不同
- vba - 在 VBA 中搜索特定文本、比较,然后复制和粘贴
- c - 为什么程序写dna没有空格
- git - Git init:致命:无法将'core.filemode'设置为'false'