powershell - 导出 .CSV 文件,更改与导入相同的名称和文件夹
问题描述
我需要更改传入 .csv 文件中的一些日期格式,以便以后可以正确处理它们。
我可以更改日期格式,但我不知道如何导出我的 .csv,因此它保持相同的名称并保留在同一个文件夹中。文件夹中不时会弹出多个.csv文件,这些文件必须一个一个处理。
一个 CSV 文件工作正常,也可以导出到另一个文件夹,但随后他将所有内容写入同一个 csv。
这就是我所拥有的:
Import-Csv -Path (Get-ChildItem -Path C:\Test2\input '*.csv').FullName | ForEach-Object { $_.SamplingDateTime = '{0:yyyyMMddhhmmss}' -f $(Get-Date $_.SamplingDateTime); $_.DateOfBirth = '{0:yyyyMMdd}' -f $(Get-Date $_.DateOfBirth) $_ } | export-csv -NoTypeInformation C:\Test2\input\*.csv
export-csv : 无法执行操作,因为路径解析为多个文件。此命令不能对多个文件进行操作。--> 有道理,但不知道该怎么做,对整个事情来说都是新的。..
也许通过快速绕道进入子文件夹?它必须通过powershell完成。
一些忠告?
解决方案
您无权首先使用 import-csv 访问管道中的文件路径。需要以某种方式跟踪输出文件的路径,以便在最终的 export-csv 命令中使用。尝试这样的事情
Get-ChildItem -Path C:\Test2\input '*.csv' | ForEach-Object {
$path = $_.FullName;
$_.FullName | Import-Csv | ForEach-Object {
$_.SamplingDateTime = '{0:yyyyMMddhhmmss}' -f $(Get-Date $_.SamplingDateTime);
$_.DateOfBirth = '{0:yyyyMMdd}' -f $(Get-Date $_.DateOfBirth);
$_
} | export-csv -NoTypeInformation -Path $path
}
推荐阅读
- browser - 在浏览器中查看报告时,SSRS 报告编辑器中的行呈现不同
- makefile - 使用 make 的静态模式和条件
- excel - VBA用户表单文本框将上次修改的值设置为Texbox中的默认值
- cluster-analysis - CREATE TABLE T1 ... LIKE ... 如果源表在 SNowflake 中使用集群键定义,则使用集群键创建表
- javascript - 将值推送到数组返回不可迭代数组
- flutter - 颤动中是否有类似 TextField 的 PostfixIcon 之类的东西
- laravel - 防止 git 在 git pull 时覆盖文件所有者
- python - 选择图像内的图像
- r - 在循环中创建许多变量 (R)
- windows - 使用 selenium 和机器人框架时 chrome 中的登录问题