我文件夹中有一堆文件。我需要创建文本文件。每个文本文件必须具有相同的(基础) 姓名作为文件夹中的文件之一,但使用.txt
扩展名而不是当前扩展名。同样,在每个新的文本文件中,文件名本身必须放在第一行。
例如,在一个文件夹中有:
filename 1.dim
filename 2.dim
需要创建新的文本文件
filename 1.txt
filename 2.txt
文本文件的内容:
filename 1.txt
应该有一行filename 1.dim
filename 2.txt
应该有一行filename 2.dim
答案1
- 我只处理
.dim
扩展名为 - 检查文件(包含更多内容)是否已经存在
## Q:\Test\2019\07\05\SU_1456413.ps1
Set-Location 'A:\Test'
foreach($File in Get-ChildItem *.dim){
$Name=$File.BaseName+'.txt'
if(!(Test-Path $Name -PathType Leaf)){
New-Item $Name -Value $File.Name
} else {
"File {0} already exists" -f $Name
}
}
PoSh 13:08:51 A:\test____________________________
> Select-String filename*.txt -Pattern filename
filename 1.txt:1:filename 1.dim
filename 2.txt:1:filename 2.dim
答案2
cd
进入文件夹,然后运行以下命令:
$files = Get-ChildItem
foreach($file in $files){
$name = [io.Path]::GetFileNameWithoutExtension($file)
New-Item -Path . -Name $name+".txt" -ItemType "file" -Value [io.Path]::GetFileName($file)
}