将我的头缠在以下问题上-也试图说明我要实现的目标。
源包含名为“ import”的子文件夹,其中包含文件和/或文件夹-(仅)此“ import”文件夹应使用新的个人名称复制到目标目录,因为只能有一个同名文件夹当然。
.Source
├── FolderA
│ └── import
│ └── Attachment
│ └── log
│
├── FolderB
│ └── import
│ └── log
│
├── FolderC
│ └── import
│ └── Attachment
│ └── log
。
.Destination
├── import27526
│ └── Attachment
│
├── import96385
│
├── import52987
│ └── Attachment
我试图使用FOR和xcopy或robocopy在CMD中解决此问题,创建随机的目标目录。
for /f "delims=" %%A in ('dir /a:d /b /s "import"') do (xcopy /y /i /S "%%A" "C:\temp\%%~nxA%random%")
[不幸的是,它不起作用,因为来自各种“导入”源文件夹中的所有数据都被复制到单个目标目录中,而不是单个目录中。
非常感谢您的帮助!
下面在Powershell中有一个简单的代码,该代码将复制包含其内容的文件夹,并在目标文件夹中添加一个数字。是您想要的东西吗?
$source = "SOURCE PATH"
$destination = "DESTINATION PATH"
$foldername = "FOLDERNAME"
$number = 0
$folders = Get-ChildItem -Path $source -Recurse | Where-Object {$_.Name -eq $foldername}
Foreach ($folder in $folders){
$number++
Copy-Item -Path $folder -Destination $destination -Recurse
Rename-Item -Path "$destination\$foldername" -NewName "$foldername $Number"
}