[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 went 于 2022-4-13 23:51 编辑

test.bat
bat和csv文件都保存ansi编码
  1. #&cls&@cd /d "%~dp0"&powershell -c "Get-Content '%~0' | Out-String | Invoke-Expression" &pause&exit
  2. cls
  3. #输入csv文件
  4. $csv_in = '需要处理的.csv'
  5. #输出csv文件
  6. $csv_out = '1.csv'
  7. #名称明细列号
  8. $col1 = 7
  9. $col2 = 24
  10. &{
  11. '明细,数量,名称'
  12. &{
  13.     Get-Content $csv_in | Select-Object -Skip 1 | foreach {
  14.         $arr = $_ -replace ',,',',0,' -split ','
  15.         @{'a'=$arr[$col1-1];'b'=$arr[$col2-1] -replace '(.*$',''}
  16.     }
  17. } | Group-Object { $_.b } | Sort-Object { $_.Count } -Descending | foreach {
  18.     $__ = $_
  19.     $_.Group | foreach {
  20.         '{0},{1},{2}' -f $__.Name,$__.Count,$_.a
  21.     }
  22. }
  23. } | Select-Object -Unique | Out-File $csv_out -Encoding Default
复制代码

TOP

本帖最后由 went 于 2022-4-13 23:54 编辑

回复 5# 78785858


    已改,编码要使用ansi

TOP

返回列表