Powershell-读取文本文件并根据文本文件的每一行创建新文件

Powershell-读取文本文件并根据文本文件的每一行创建新文件

我正在尝试根据现有文本文件的内容创建一个新文件名。例如,

FileNameList.txt
===============
Places to Visit
Things to Take
Things to do in Home Before Leaving
# Line with # at the beginning, skip

我想使用以下方法将此文件行转换为其自己的文件名电源外壳。文件夹名称无所谓,可以在现有的文件夹中。

输出将是:

Places to Visit.txt
Things to Take.txt 
Things to do in Home Before Leaving.txt

请注意,

  1. 行中可以有空格、_、逗号或。
  2. 如果文件名已经存在,它应该覆盖该文件。
  3. 再添加一个请求,任何以 # 符号开头的行都应被跳过。

我尝试过的方法:我尝试使用 CSV 文件并尝试使用 Import-Csv,但效果不佳。谢谢。

答案1

尝试以下 cmdlet:

Get-Content -Path "C:\path\to\yourfile.txt" | foreach { if(!$_.StartsWith("#")){ New-Item "$_.txt" -Force }}

...

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          24/08/2023    19:43              0 Places to Visit.txt
-a---          24/08/2023    19:43              0 Things to Take.txt
-a---          24/08/2023    19:43              0 Things to do in Home Before Leaving.txt

解释:获取文件的内容。检查每一行。如果不是以 开头#,则创建一个新文件。-Force如果文件已经存在,则该参数允许覆盖现有文件。

相关内容