在Powershell中复制和重命名文件

时间:2014-11-06 19:20:09

标签: powershell

我想复制文件

  

base.txt

到其他文件夹我希望他的名字更改为文件夹名称。

cd c:\Program\Levels
copy-item *.txt c:\Books -force -recurse
Get-ChildItem C:\Books -Filter *.txt -Recurse | Rename-Item -NewName { $_.Directory.Name}

所以他要复制* .txt文件夹' Books'并将文件重命名为' books.txt'但是,他没有将文件复制到' Books'

中的子文件夹

我希望它复制.txt中的子文件夹的.txt文件'并将.txt重命名为文件夹名称。

Obs:.txt文件是唯一的

1 个答案:

答案 0 :(得分:0)

因此,文件base.txt可能会被复制到C:\Books中的每个子文件夹?我想我可以理解你的逻辑方法,但我提供了这个解决方案。

$templateFile = "C:\temp\base.txt"
Get-ChildItem "C:\Books" | Where-Object {$_.PSIsContainer} |ForEach-Object{
    $newName = "{0}\{1}.txt" -f $_.FullName, $_.Name
    Copy-Item -Path $templateFile -Destination $newName
}

收集“C:\ Books”的每个子目录,并在每个目录中将文件base.txt复制到其新名称为父文件夹名称的位置。