我正在尝试根据现有文本文件的内容创建一个新文件名。例如,
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
请注意,
- 行中可以有空格、_、逗号或。
- 如果文件名已经存在,它应该覆盖该文件。
- 再添加一个请求,任何以 # 符号开头的行都应被跳过。
我尝试过的方法:我尝试使用 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
如果文件已经存在,则该参数允许覆盖现有文件。