Board logo

标题: 统计,当前文件及子文件(zip)内TXT文本数量(去重) [打印本页]

作者: qq110110    时间: 2019-12-3 22:08     标题: 统计,当前文件及子文件(zip)内TXT文本数量(去重)

本帖最后由 qq110110 于 2019-12-7 19:40 编辑

具体报酬:3元
支付方式:支付宝转账(提供二维码,或者手机号)
联系方式:手机
有效期限:2019/12/10
需求描述:

统计当前文件夹及其子文件夹(zip文件)内
TXT文本(去除重复后)的数量。         

1楼,能统计TXT去重个数。剩下那句话不知道加在哪。
2楼,window可以用。window7提示找不到。
作者: zaqmlp    时间: 2019-12-3 22:31

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢打赏
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. powershell -NoProfile -ExecutionPolicy bypass "(dir -recurse|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])}|group {$_.Name.toLower()}).count;"
  6. echo;%info%
  7. pause
复制代码

作者: zaqmlp    时间: 2019-12-3 22:40

  1. ('.zip' -eq $_.Extension)
复制代码

作者: flashercs    时间: 2019-12-3 23:01

  1. <#*,:&cls
  2. @echo off
  3. pushd "%~dp0"
  4. Powershell -NoProfile -ExecutionPolicy RemoteSigned -Command ". ([ScriptBlock]::Create((Get-Content -LiteralPath \"%~0\" -ReadCount 0 | Out-String ))) "
  5. popd
  6. pause
  7. exit /b
  8. #>
  9. Add-Type -AssemblyName System.IO.Compression.FileSystem
  10. # 目录列表,绝对路径或相对路径
  11. Get-ChildItem -Path *.txt -Recurse | Foreach-Object {
  12.   if (!$_.PSIsContainer) {
  13.     $_.PSChildName
  14.   }
  15. } -OutVariable txtlist | Out-Null
  16. Get-ChildItem -Path *.zip -Recurse | ForEach-Object {
  17.   if (!$_.PSIsContainer) {
  18.     try {
  19.       $archive = [System.IO.Compression.ZipFile]::Open($_.FullName, 'Read')
  20.       $archive.Entries | ForEach-Object {
  21.         if ($_.Name -like '*.txt') {
  22.           $_.Name
  23.         }
  24.       }
  25.     } finally {
  26.       $archive.Dispose()
  27.     }
  28.   }
  29. } -OutVariable +txtlist | Out-Null
  30. $txtlist | Group-Object -OutVariable groupinfos
  31. "`n文本文件数量: " + $groupinfos.Count
复制代码

作者: qq110110    时间: 2019-12-3 23:16

回复 3# zaqmlp


    这一句要加到哪里啊?
作者: qq110110    时间: 2019-12-4 18:35

回复 4# flashercs


    widnow10可以,window7提示无法新增类型,找不到组件,不可再null的运算上呼叫方法




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2