Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 如何将文件从旧文件夹结构移动到新文件夹结构?_Powershell_Batch File_Path_Cmd_Cmdlets - Fatal编程技术网

Powershell 如何将文件从旧文件夹结构移动到新文件夹结构?

Powershell 如何将文件从旧文件夹结构移动到新文件夹结构?,powershell,batch-file,path,cmd,cmdlets,Powershell,Batch File,Path,Cmd,Cmdlets,我想修改我现有的文件夹结构。我有一个按以下方式组织的文件树: Client Name State/Province City Order Number 但我修改了它,在订单号之前添加了一个地址,以连字符分隔,如下所示: Client Name State/Province City Order Number - Address 我用生成原始文件夹的宏创建了新文件夹结构,我认为这比重命名现有文件夹容易得多 所以现在我想把空文件夹上传到我的服务器上

我想修改我现有的文件夹结构。我有一个按以下方式组织的文件树:

Client Name
  State/Province
    City
      Order Number
但我修改了它,在订单号之前添加了一个地址,以连字符分隔,如下所示:

Client Name
  State/Province
    City
      Order Number - Address
我用生成原始文件夹的宏创建了新文件夹结构,我认为这比重命名现有文件夹容易得多

所以现在我想把空文件夹上传到我的服务器上,但在上传之前,我想把所有旧结构中的文件放到新结构中

简单地说,我试图编写一个脚本,将原始层次结构中的文件夹名称与包含原始名称和地址的新层次结构相匹配,然后将原始文件夹中的文件复制到新结构中名称类似的文件夹中

我该怎么做?VBA、Powershell、批处理命令?我对PS不是很精通。

使用循环, , 和Powershell:

使用带有, , 和Powershell:

#Get all address subfolders
$addr_folders = Get-ChildItem c:\"Client Name"\State/Province\City\ -recurse | Where-Object {$_.PSIsContainer -eq $True}

#Loop through all address subfolders
foreach ($address in $addr_folders)
{
  #Copy contents from existing subfolder path to new folder
  if (Test-Path c:\"Client Name"\State/Province\City\"Order Number"\$address)
    {
   Copy-Item c:\"Client Name"\State/Province\City\"Order Number" c:\"Client Name"\State/Province\City\"Order Number - " $address
    }
}