小编use*_*201的帖子

Powershell脚本,用于在循环中复制和重命名文件

我的Prevalidation文件夹中有许多扩展名为.psa的文件,我想:

  1. 将它们一个一个地复制到我的工作文件夹中
  2. 将.psa文件重命名为psaload.csv
  3. 对文件运行一组命令,将其加载到我的数据库
  4. 然后从我的工作文件夹中删除csv文件.

对于源文件夹中的所有.psa文件,将重复此操作.

因此,问题是我如何在循环中执行与当前一样多的.psa文件的命令集.

这是我的Prevalidation文件夹中只有一个文件的代码测试 -

Copy-Item  C:\Downloads\PreValidation\*.psa C:\Downloads\Validation\WIP
Rename-Item 'C:\Downloads\Validation\WIP\abc 1234.psa' 'psaload1.csv'

Get-Content C:\Downloads\Validation\WIP\psaload1.csv | ForEach-Object { $_.replace("\,"," ") } | Set-Content C:\Downloads\Validation\WIP\psaload.csv

Remove-Item C:\Downloads\Validation\WIP\psaload1.csv

<run the psaload.csv to load to my db>
Run Code Online (Sandbox Code Playgroud)

这是我打算做的 -

考虑我的C:\ Downloads\Prevalidation文件夹中的多个.psa文件.

For each C:\Downloads\PreValidation\*.psa

BEGIN LOOP

Copy-Item  C:\Downloads\PreValidation\aaaa.psa C:\Downloads\Validation\WIP\aaaa.psa
Rename-Item 'C:\Downloads\Validation\WIP\aaaa.psa' 'psaload1.csv'

Get-Content C:\Downloads\Validation\WIP\psaload1.csv | ForEach-Object { $_.replace("\,"," ") } | Set-Content C:\Downloads\Validation\WIP\psaload.csv

Remove-Item C:\Downloads\Validation\WIP\psaload1.csv


END LOOP
Run Code Online (Sandbox Code Playgroud)

我正在寻找语法来为我/ prevalidation文件夹中的每个文件逐个运行这些命令集.

powershell file-rename

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

file-rename ×1

powershell ×1