将子文件夹批量传输到父文件夹
Bulk Transfer of Subfolders into Parent Folders
我有一个问题,我似乎无法在网上找到任何解决方案。在从我的旧数据库服务中导出一些数据后,我正在尝试重组一些我最终得到的数据结构。
导出后给我留下了一堆格式为 [Client Name] -> Archive -> Archive -> [Client Files/Subfolders] 的客户端文件夹。我想要结束的是 [Client Name] -> [Client Files/Subfolders],删除中间的两个冗余 "Archive" 文件夹。
许多人向我建议,我只需将子文件夹中的文件剪切并粘贴到客户端根目录即可,但是对于数百个客户端文件夹,这将是一项非常漫长的任务。是否可以使用任何批处理 cmd 命令或 powershell 命令来处理这些文件夹并重组它们?非常感谢任何建议。
三个内置的 PoSH cmdlet 正是用于这些目的。
Get-ChildItem(又名 gci、dir 和 ls)
(Get-Command -Name Get-ChildItem).Parameters.Keys
Get-Help -Name Get-ChildItem -Full
Get-Help -Name Get-ChildItem -Examples
移动项目(又名 mi、move 和 mv)
(Get-Command -Name Move-Item).Parameters.Keys
Get-Help -Name Move-Item -Full
Get-Help -Name Move-Item -Examples
删除项目(又名 del、erase、rd、ri、rm、rmdir)
(Get-Command -Name Remove-Item).Parameters.Keys
Get-Help -Name Remove-Item -Full
Get-Help -Name Remove-Item -Examples
在此处查看详细信息:
Windows PowerShell
中的文件和文件夹
我们首先会告诉您,您上个月学到的有关使用 WMI 操作文件和文件夹的所有内容都适用于 Windows PowerShell。 PowerShell 有一个名为 Get-WMIObject 的 cmdlet,它允许您访问 WMI 的所有 类、方法和属性。就像使用 VBScript 一样,WMI 是在 Windows PowerShell 中远程处理文件和文件夹的唯一方法。在本文中,我们不打算在 Windows PowerShell 中使用 WMI,但我们将向您展示 PowerShell 处理文件和文件夹的方法。
https://technet.microsoft.com/en-us/library/ee176988.aspx
至于这个……
"removing the two redundant "存档"之间的文件夹。"
如果这些文件夹中没有任何有价值的东西,那么上面的Remove-Item应该就是你所需要的了。否则,您将所有文件从 移动到任意位置,然后删除文件夹。
或者只使用 robocopy
https://technet.microsoft.com/en-us/library/cc733145(v=ws.11).aspx
https://social.technet.microsoft.com/wiki/contents/articles/1073.robocopy-and-a-few-examples.aspx
Robocopy(强大的文件复制)是 Windows Vista / Windows 2008 或更新版本附带的命令行文件复制实用程序。在 Vista 之前,Robocopy 是 Windows Resource Kit Tools 的一部分,可以免费下载 (http://aka.ms/robocopydownload Jump )。与普通的复制命令不同,Robocopy 旨在用于可靠的复制或镜像,同时维护复制对象的权限、属性、所有者信息、时间戳和属性。
我有一个问题,我似乎无法在网上找到任何解决方案。在从我的旧数据库服务中导出一些数据后,我正在尝试重组一些我最终得到的数据结构。
导出后给我留下了一堆格式为 [Client Name] -> Archive -> Archive -> [Client Files/Subfolders] 的客户端文件夹。我想要结束的是 [Client Name] -> [Client Files/Subfolders],删除中间的两个冗余 "Archive" 文件夹。
许多人向我建议,我只需将子文件夹中的文件剪切并粘贴到客户端根目录即可,但是对于数百个客户端文件夹,这将是一项非常漫长的任务。是否可以使用任何批处理 cmd 命令或 powershell 命令来处理这些文件夹并重组它们?非常感谢任何建议。
三个内置的 PoSH cmdlet 正是用于这些目的。
Get-ChildItem(又名 gci、dir 和 ls)
(Get-Command -Name Get-ChildItem).Parameters.Keys
Get-Help -Name Get-ChildItem -Full
Get-Help -Name Get-ChildItem -Examples
移动项目(又名 mi、move 和 mv)
(Get-Command -Name Move-Item).Parameters.Keys
Get-Help -Name Move-Item -Full
Get-Help -Name Move-Item -Examples
删除项目(又名 del、erase、rd、ri、rm、rmdir)
(Get-Command -Name Remove-Item).Parameters.Keys
Get-Help -Name Remove-Item -Full
Get-Help -Name Remove-Item -Examples
在此处查看详细信息: Windows PowerShell
中的文件和文件夹我们首先会告诉您,您上个月学到的有关使用 WMI 操作文件和文件夹的所有内容都适用于 Windows PowerShell。 PowerShell 有一个名为 Get-WMIObject 的 cmdlet,它允许您访问 WMI 的所有 类、方法和属性。就像使用 VBScript 一样,WMI 是在 Windows PowerShell 中远程处理文件和文件夹的唯一方法。在本文中,我们不打算在 Windows PowerShell 中使用 WMI,但我们将向您展示 PowerShell 处理文件和文件夹的方法。 https://technet.microsoft.com/en-us/library/ee176988.aspx
至于这个…… "removing the two redundant "存档"之间的文件夹。"
如果这些文件夹中没有任何有价值的东西,那么上面的Remove-Item应该就是你所需要的了。否则,您将所有文件从 移动到任意位置,然后删除文件夹。
或者只使用 robocopy
https://technet.microsoft.com/en-us/library/cc733145(v=ws.11).aspx https://social.technet.microsoft.com/wiki/contents/articles/1073.robocopy-and-a-few-examples.aspx
Robocopy(强大的文件复制)是 Windows Vista / Windows 2008 或更新版本附带的命令行文件复制实用程序。在 Vista 之前,Robocopy 是 Windows Resource Kit Tools 的一部分,可以免费下载 (http://aka.ms/robocopydownload Jump )。与普通的复制命令不同,Robocopy 旨在用于可靠的复制或镜像,同时维护复制对象的权限、属性、所有者信息、时间戳和属性。