Nummerierte dateien lücke finden .batch
hallo zusammen
ich habe eine Vielzahl an Dateien mit Messwerten die folgender maßen aussehen:
xxxx0001_000.txt
xxxx0002_000.txt
xxxx0003_000.txt
xxxx0004_000.txt
xxxx0004_001.txt
xxxx0005_000.txt
.(lücke)
xxxx0010_000.txt
.
xxxx1000_000.txt
Es können Dateien doppelt vorkommen:
xxxx0004_000.txt
xxxx0004_001.txt
Baugruppe wurde zweimal getestet
Nun möchte ich gerne per Batch Datei Lücken in der Reihe angezeigt bekommen.
Abfrage: Anfangswert
z.B xxxx0001
Abfrage: Endwert
z.B xxxx1000
Ausgabe:
xxxx0006
xxxx0007
xxxx0008
xxxx0009
kann mir jemand behilflich sein?
Vielen Dank schon mal
ich habe eine Vielzahl an Dateien mit Messwerten die folgender maßen aussehen:
xxxx0001_000.txt
xxxx0002_000.txt
xxxx0003_000.txt
xxxx0004_000.txt
xxxx0004_001.txt
xxxx0005_000.txt
.(lücke)
xxxx0010_000.txt
.
xxxx1000_000.txt
Es können Dateien doppelt vorkommen:
xxxx0004_000.txt
xxxx0004_001.txt
Baugruppe wurde zweimal getestet
Nun möchte ich gerne per Batch Datei Lücken in der Reihe angezeigt bekommen.
Abfrage: Anfangswert
z.B xxxx0001
Abfrage: Endwert
z.B xxxx1000
Ausgabe:
xxxx0006
xxxx0007
xxxx0008
xxxx0009
kann mir jemand behilflich sein?
Vielen Dank schon mal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 334007
Url: https://administrator.de/contentid/334007
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
2 Kommentare
Neuester Kommentar
Servus,
Batchdatei bspw. speichern unter check.cmd
und dann mit folgenden Parametern das Skript aufrufen:
Und für die Powershell Kollegen:
Aufruf dann so:
Grüße Uwe
Batchdatei bspw. speichern unter check.cmd
@echo off & setlocal ENABLEDELAYEDEXPANSION
set "folder=%~3" &set "von=%~2" &set "bis=%~3"
set /a "start=1%von:~-4%,start - 10000"
set /a "stop=1%bis:~-4%,stop - 10000"
for /L %%a in (%start% 1 %stop%) do (
set num=000%%a
set "file=%von:~0,-4%!num:~-4!"
if not exist "%folder%\!file!*" echo !file!
)
check.cmd "D:\Ordner\Mit\Messwerten" "xxxx0002" "xxxx0200"
param([string]$folder,[string]$prefix,[int]$from,[int]$to)
$from..$to | ?{!(Test-Path "$folder\$prefix$('{0:D4}' -f $_)*.txt")} |%{"$prefix$('{0:D4}' -f $_)"}
.\script.ps1 -folder "D:\Ordner\Mit\Messwerten" -prefix "xxxx" -from 5 -to 20
Hallo,
habe zur Problemstellung etwas probiert in Powershell. Allerdings kein Gewähr auf Performance.
habe zur Problemstellung etwas probiert in Powershell. Allerdings kein Gewähr auf Performance.
$files = Get-ChildItem "C:\<pfad>\"
$start = 1
$end = 1000
$arr = @()
foreach ($file in $files) {
$filename = $file.Name.Split("_")
$arr += $filename
}
$uniqarr = $arr | Get-Unique
$searchstrbase = $uniqarr.Substring(0, $uniqarr.Length-1)
for ($i = $start; $i -lt $end; $i++) {
$searchstr = $searchstrbase + $i
if (!$uniqarr.Contains($searchstr)) {
Write-Host $searchstr
}
}