如何用PowerShell移动名称不含下划线的文件夹及内容?
解决方法:批量移动不含下划线的文件夹
以下是针对新手的分步操作,全程可以结合文件资源管理器操作,降低上手难度:
1. 打开目标目录的PowerShell窗口
- 打开文件资源管理器,找到存放所有待处理文件夹的父目录(比如
D:\AnimalFolders) - 点击地址栏,直接输入
powershell后回车,就能在当前目录启动PowerShell
2. 先预览要移动的文件夹(关键!避免误操作)
执行下面的命令,会列出所有名称不含下划线的文件夹,先确认是不是你要移动的(比如示例里的cow24、fish3):
Get-ChildItem -Directory | Where-Object { $_.Name -notlike "*_*" }
命令说明:
Get-ChildItem -Directory:只获取当前目录下的子文件夹,不会碰文件Where-Object { $_.Name -notlike "*_*" }:筛选出名称里没有下划线的文件夹
3. 创建存放目标文件夹
在当前目录新建一个叫ToMove的文件夹,用来放要移动的内容:
New-Item -ItemType Directory -Name "ToMove" -Force
-Force参数:如果这个文件夹已经存在,不会报错,直接跳过创建
4. 执行移动操作
确认预览结果无误后,执行下面的命令,把筛选出的文件夹(包括子文件夹和内部文件)全部移到ToMove里:
Get-ChildItem -Directory | Where-Object { $_.Name -notlike "*_*" } | Move-Item -Destination ".\ToMove"
如果要移到其他路径,把".\ToMove"换成完整路径即可,比如"D:\Backup\AnimalFolders"
注意事项
- 始终先执行预览命令确认目标,再执行移动
- 文件夹名称含特殊字符也不用担心,PowerShell会自动处理
内容的提问来源于stack exchange,提问作者Aiden T
相关产品推荐
相关产品推荐

