【发布时间】:2020-09-10 17:04:51
【问题描述】:
晚上好,
我想批量执行以下powershell命令:
$data = Import-Csv C:\Users\powershell\input.txt -delimiter ";" -Header (1..41);1..25 | %{$data[0].($_+16) = $data[$_].16};($data[0] | convertto-csv -delimiter ";" -NoType | select -skip 1) -replace '"' | out-file C:\Users\powershell\output.txt
为此,我使用以下批次:
@echo off
powershell -Executionpolicy ByPass -Command "$data = Import-Csv C:\Users\powershell\input.txt -delimiter ';' -Header (1..41);1..25 | %{$data[0].($_+16) = $data[$_].16};($data[0] | convertto-csv -delimiter ';' -NoType | select -skip 1) -replace '"' | out-file C:\Users\powershell\output.txt"
不幸的是,它不能正常工作,执行命令,文件打开但不保存,文件只保存不打开。
谁能告诉我为什么?它是如何正常工作的?
示例输入:
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
Klaus;Müller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;
示例输出:
Klaus;Möller;Straße;PLZ;Ort;1;2;3;4;5;6;;;;;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;DE1;
【问题讨论】:
-
你能给我们看看 csv 文件吗?
-
我编辑帖子几秒钟...
-
该命令的问题是
out-file所以尝试使用powershell -Executionpolicy ByPass -Command "$data = Import-Csv C:\Users\powershell\input.txt -delimiter ';' -Header (1..41);1..25 | %{$data[0].($_+16) = $data[$_].16};($data[0] | convertto-csv -delimiter ';' -NoType | select -skip 1) -replace '"' " > C:\Users\powershell\output.txt代替 -
当我有你在问题中输入的 csv 文件时,我提供的命令似乎对我有用。它也有预期的输出。
-
我刚刚测试了它,但不幸的是它对我不起作用。看起来他找不到路径 C:\Users\powershell\input.txt 但文件在那里。
标签: batch-file batch-processing