关于使用csv来替换文件文件的问题


PowerShell交流中心分类: Powershell基础关于使用csv来替换文件文件的问题
0
cloudlands asked 6年 ago

比如有一个CSV,user.csv,内容如:
ABC,123,test
BCD,123,sales
…………

还有一个AAA.eml文件,其中
1、有些数行为AAA@aaa.com
2、还有某行:password:123

想将
AAA@aaa.com替换为ABC@aaa.com
password:123替换为password:随机10位的数字串
并保存为ABC.eml

AAA@aaa.com替换为BCD@aaa.com
password:123替换为password:随机10位的数字串
并保存为BCD.eml
…………

请问可否实现?

×用微信扫描并分享
0 Answers
1
Mooser Lee 管理员 answered 6年 ago

读文本文件用get-content
读出来是一个字符串数组,每一个字符串都是一个字符串对象,可以调用它的replace方法$a=”ABC”
$a.replace(“AAA”,”ABC”)   
密码如何替换成随机数字得先找到密码关键字的行可以用string字符串的contains方法或者startswith方法
最后生成随机密码可以调用get-random,也可以system.random对象。保存文件用out-file命令具体就是这个思路,不在电脑旁只能用手机回复了。

cloudlands replied 6年 ago

搞定了,语法有点错误才会一直报错。foreach中的要用;号分隔,我用换行分隔一直失败。思路大概是先Import-Csv,再Get-Content,然后replace。多谢。