标题: 统计,当前文件及子文件(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
- @echo off
- set info=互助互利,支付宝扫码头像,感谢打赏
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- powershell -NoProfile -ExecutionPolicy bypass "(dir -recurse|?{('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo])}|group {$_.Name.toLower()}).count;"
- echo;%info%
- pause
复制代码
作者: zaqmlp 时间: 2019-12-3 22:40
- ('.zip' -eq $_.Extension)
复制代码
作者: flashercs 时间: 2019-12-3 23:01
- <#*,:&cls
- @echo off
- pushd "%~dp0"
- Powershell -NoProfile -ExecutionPolicy RemoteSigned -Command ". ([ScriptBlock]::Create((Get-Content -LiteralPath \"%~0\" -ReadCount 0 | Out-String ))) "
- popd
- pause
- exit /b
- #>
- Add-Type -AssemblyName System.IO.Compression.FileSystem
- # 目录列表,绝对路径或相对路径
- Get-ChildItem -Path *.txt -Recurse | Foreach-Object {
- if (!$_.PSIsContainer) {
- $_.PSChildName
- }
- } -OutVariable txtlist | Out-Null
- Get-ChildItem -Path *.zip -Recurse | ForEach-Object {
- if (!$_.PSIsContainer) {
- try {
- $archive = [System.IO.Compression.ZipFile]::Open($_.FullName, 'Read')
- $archive.Entries | ForEach-Object {
- if ($_.Name -like '*.txt') {
- $_.Name
- }
- }
- } finally {
- $archive.Dispose()
- }
- }
- } -OutVariable +txtlist | Out-Null
- $txtlist | Group-Object -OutVariable groupinfos
- "`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 |