dos(批处理)或VBS脚本批量修改CSV格式文件内容

我有很多个文件夹,比如A1001,A1002,A1003。。。。等等很多文件夹。比如A1001文件里有:A1001TA1001HA1001W三个CSV文件A1002文件里... 我有很多个文件夹,比如A1001 ,A1002,A1003 。。。。等等很多文件夹。 比如 A1001文件里有:A1001T A1001H A1001W三个CSV文件 A1002文件里有:A1002T A1002H A1002W三个CSV文件.。。。等等,比如我要批量替换A1001T 内第二列和第六列的关键字“端子”替换为 “TER”请问该如何写,总结出来后面就两点,1.找到相应的列数 , 2.替换相应列数的关键字。 谢谢!!! 展开
 我来答
云阙长歌
2018-04-09 · TA获得超过171个赞
知道小有建树答主
回答量:130
采纳率:75%
帮助的人:80万
展开全部

1.备份源文件

2.此为powershell脚本,保存为ps1扩展名文件,右键单击脚本,以powershell运行

3.未对powershell进行过设置的,可以管理员身份运行CMD,复制以下命令到命令提符 以解除脚本限制

powershell -c "set-executionpolicy unrestricted"

当然也可以管理员运行POWERSHELL,输入以下命令解除脚本限制

set-executionpolicy unrestricted

4. WIN10以下系统如出错,可能需要去微软官网下载补丁升级powershell

$SrcDir="D:\test";#源目录
$ar=2,6;#替换的列
dir $SrcDir -Filter *.csv|%{$str=$null;type $_.FullName|%{
    $n=0;
    foreach($ch in $_.split(",`t")){
        $n+=1;
        if($n -in $ar){$ch=$ch.Replace('TER','端子')}
        $str+=$ch+',';
     }
    $str=$str.TrimEnd(',')+"`r`n";
    }
Out-File -FilePath $_.FullName -InputObject $str -Encoding utf8;
}
追问
按你的方法,文件没有任何改变,变化是只是文件的更改日期变了!文件内容没有任何变化!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式