如何使用PowerShell根据CSV文件路径列表批量创建对应TXT文件
PowerShell脚本修正方案
核心需求说明
- 从指定CSV文件中读取存储的文件路径列表
- 为每个原文件在相同目录下生成格式为
原文件完整名.txt的附属TXT文件 - TXT文件固定包含3行内容:
MM\dd\yyyy格式的当日日期、原文件完整路径、原文件名(不含路径)
修正后可直接运行的脚本
# 替换为你实际的CSV文件存放路径 $csvPath = "C:\你存放CSV的路径\file_list.csv" # 读取CSV中的文件路径列表 $fileList = Import-Csv -Path $csvPath # 格式化当日日期为要求的斜杠分隔格式 $today = Get-Date -Format 'MM\dd\yyyy' foreach ($rawPath in $fileList.Filename) { # 可选校验:原文件不存在则跳过处理 if (-not (Test-Path -Path $rawPath -PathType Leaf)) { Write-Warning "检测到无效路径:$rawPath,已跳过" continue } # 获取原文件的纯文件名(不带路径) $rawFileName = Split-Path -Path $rawPath -Leaf # 拼接生成的TXT文件路径 $outputPath = $rawPath + ".txt" # 构造要求的内容 $fileContent = @" $today $rawPath $rawFileName "@ # 写入文件,如遇乱码可调整Encoding参数为UTF8/GB2312 Set-Content -Path $outputPath -Value $fileContent -Encoding Default }
原脚本的问题说明
- 缺少读取CSV的逻辑,错误使用
Get-ChildItem遍历目录,与需求场景不符 - 路径拼接语法错误,不能直接在命令参数中用
+拼接字符串,需要先计算好完整路径再传参 - 日期没有按要求的
MM\dd\yyyy格式做格式化处理 - 写入内容缺失原文件路径、原文件名两个必填字段
- 同时混用
New-Item和Add-Content逻辑冗余,直接用Set-Content即可同时完成文件创建和内容写入
内容的提问来源于stack exchange,提问作者johnt
相关产品推荐
相关产品推荐

