【发布时间】:2013-08-02 11:35:39
【问题描述】:
我有一个 CSV 文件 (file1),它看起来像:(用户目录和大小)
Initials,Size
User1,10
User2,100
User3,131
User4,140
我有另一个 CSV 文件 (file2),它看起来像:(VIP 用户)
User2
User4
现在我要做的是更新file1,所以它看起来像:
User1,10
User3,131
User2 和 User4 被删除,因为它们在 file2 中
我可以删除它们,但同时我删除了所有用户的大小,所以我的输出只有用户:
User1
User3
我的代码:
$SourcePath = "\\server1\info\SYSINFO\UsrSize"
$DestinationFile = "\\server1\info\SYSINFO\UsrSize\OverLimit\UsersOverLimit1.log"
$VIP_Exclusion_List = "\\server1\info\SYSINFO\UsrSize\OverLimit\_VIP_EXCLUSION_LIST.txt"
$Database = "\\server1\info\SYSINFO\UsrSize\OverLimit\_UsersOverLimitDATABASE.log"
$INT_SizeToLookFor = 100
dir $SourcePath -Filter usr*.txt | import-csv -delimiter "`t" |
Where-Object {[INT] $_."Size excl. Backup/Pst" -ge $INT_SizeToLookFor} |
Select-Object Initials,"Size excl. Backup/Pst" | convertto-csv -NoTypeInformation | % { $_ -replace '"', ""} | out-file $DestinationFile ;
$Userlist = import-csv $DestinationFile | Select-Object Initials |
convertto-csv -NoTypeInformation | % { $_ -replace '"', ""};
compare-object ($Userlist) (get-content $VIP_Exclusion_List) |
select-object inputObject | convertto-csv -NoTypeInformation |
% { $_ -replace '"', ""} | out-file "\\server1\info\SYSINFO\UsrSize\OverLimit\UsersOverLimitThisTime.log";
【问题讨论】:
-
在这里找到部分答案:stackoverflow.com/questions/15579316/… 现在我只需要找到一种方法将其再次导出为 CSV 文件
-
out-file 工作正常 :-) 当网站允许我添加完整的新代码时。
-
export-csv 是用于创建 CSV 文件的 Cmd-Let。
标签: powershell csv