创建与其他文件同名的新文本文件

创建与其他文件同名的新文本文件

我文件夹中有一堆文件。我需要创建文本文件。每个文本文件必须具有相同的(基础) 姓名作为文件夹中的文件之一,但使用.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)
}

相关内容