gpt4 book ai didi

powershell - 如何将一个文件夹中的所有文件复制到另一个文件夹并更改扩展名?

转载 作者:行者123 更新时间:2023-12-03 01:00:49 29 4
gpt4 key购买 nike

我的文件夹中有一些文件,没有扩展名文件。我想将所有文件复制到另一个文件夹,并将其扩展名更改为.txt

我尝试了这段代码,但是在创建目标文件时仍然出错。

$JOB = Copy-Item -Path C:\Users\XX\Documents\Folder1* -Destination "C:\Users\XX\Documents\Folder2"
Rename-Item -Path C:\Users\XX\Documents\Folder2\* -NewName *.TXT

最佳答案

Get-ChildItem -Path .\Folder1 -File |
ForEach-Object { Copy-Item -Path $_.FullName -Destination ".\Folder2\$($_.BaseName).txt" }

# Alternatively without ForEach-Object (see note below)
Get-ChildItem -Path .\Folder1 -File |
Copy-Item -Path $_.FullName -Destination { ".\Folder2\$($_.BaseName).txt" }

那应该做的。请记住,它仅适用于一个级别,如果要递归复制文件夹结构,则必须稍微修改脚本。

基本上,这里发生的是找到所有文件,然后将它们通过管道传递到 Copy-Item并使用源文件的 BaseName属性(与 Name属性相比不包括扩展名)构造目标路径。

注意:由于 -Path接受管道输入(请参见 docs here),因此您无需使用 ForEach-Object。但是,它对于可见性仍然有用(取决于您的首选项)。

感谢 @LotPings注意到以上内容。

关于powershell - 如何将一个文件夹中的所有文件复制到另一个文件夹并更改扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56644479/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com