标题: [文件操作] 求助批处理文本与文件夹的文件名找不同,并且删除 [打印本页]
作者: 意外之外 时间: 2022-7-12 10:28 标题: 求助批处理文本与文件夹的文件名找不同,并且删除
这个文件夹下的文件名称,与文本里面最后的文件名称进行核对?能快速找回来文件夹里面多余的,或者文档里面多余的?
目前的情况是,每个文件夹的索引文件和图片文件不匹配,比如索引文件200行,图片文件180个,或者索引文件180个,图片文件200个
然后在进行删除索引文件的那一行和文件夹里面的图片,保持索引文件和图片文本一致。
如果不行,或者只删除索引文件最后的文件名称(红色框)和图片文件,回头筛选文本去手动删也行。
其实目的只是让保持索引文件和图片文件一致。
这种bat能实现吗?求助大佬们!
图片上传不了不知道为啥,QQ空间的也不显示。。愁死了。。放个链接。。
http://m.qpic.cn/psc?/V506iZXy0KgcUx0r2DOl2f3Gtm1t968X/bqQfVz5yrrGYSXMvKr.cqX5LeLRQHhebz3SHmYfloTEDtFKIlhUBpp0VuoRIsTmjbKvmz7lUTPxa*NqApdrA8KG28iZvvgahm.21.n0eVoQ!/b&bo=ZQV5AQAAAAABFyg!&rf=viewer_4
作者: flashercs 时间: 2022-7-12 12:29
- <#*,:&cls
- @echo off
- cd /d "%~dp0"
- powershell -C "Set-Location -LiteralPath ([Environment]::CurrentDirectory);. ([ScriptBlock]::Create((Get-Content -LiteralPath \"%~f0\" -ReadCount 0 | Out-String)))"
- pause
- exit /b
- #>
-
- Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object {
- $datafile = Join-Path -Path $_.FullName -ChildPath "DATA_$($_.Name).txt"
- $jpgs = @($_ | Get-ChildItem | Where-Object { $_.Extension -eq '.jpg' } | Select-Object -Property @{
- Name = 'jpgName'
- Expression = { $_.Name }
- }, @{
- Name = 'FullName'
- Expression = { $_.FullName }
- })
- $lines = Get-Content -ReadCount 0 -LiteralPath $datafile
- $header = $lines[0]
- $linesdata = @($lines | Select-Object -Property @{
- Name = 'jpgName'
- Expression = {
- if ($_ -match '\|([^|]*)$') {
- $Matches[1]
- }
- }
- }, @{
- Name = 'line'
- Expression = { $_ }
- } -Skip 1)
- $comp = Compare-Object -ReferenceObject $linesdata -DifferenceObject $jpgs -Property jpgName -IncludeEqual -PassThru
- $(
- $header
- foreach ($item in $comp) {
- if ($item.SideIndicator -eq '==') {
- # 匹配与jpg相同的行
- $item.line
- } elseif ($item.SideIndicator -eq '=>') {
- # 删除多余的jpg
- Remove-Item -LiteralPath (Join-Path -Path $_.FullName -ChildPath $item.jpgName) -Verbose
- }
- }) | Set-Content -LiteralPath $datafile
- }
复制代码
脚本放到2022文件夹下, 保存为ANSI编码; 先找测试目录,以免删除文件错误.
作者: 意外之外 时间: 2022-7-12 15:55
已测试没问题,太NB了,非常感谢大佬的帮助!
作者: Batcher 时间: 2022-7-12 20:45
回复 1# 意外之外
如果需要发图片,请使用图床:
http://bbs.bathome.net/thread-60985-1-1.html
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |