Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Nummerierte Dateien auf Vollständigkeit überprüfen.

Frage Entwicklung Batch & Shell

Mitglied: samuelT

samuelT (Level 1) - Jetzt verbinden

29.08.2012, aktualisiert 10.02.2014, 2062 Aufrufe, 5 Kommentare

Hallo alle, ich bin nicht der script crack und bräuchte bitte eure Hilfe.

Ich habe einen Ordner mit PDF Dateien, diese sind immer nach dem selben "Schema" vorhanden / aufgebaut:

Dateiname einmal: F13020431.pdf und selber Aufbau nur anstelle von "F" steht "G"

Beide Varianten sind aber im selben Ordner. Mir wäre schon geholfen wenn ich einfach manuel die Abfrage (script) von F auf G ändere und durchlaufen lasse.

Was ich herausfinden muss ist ob die fortlaufenden Nummern der Dateinamen auch lückenlos vorhanden sind, und wenn nicht die Fehlende(n) in eine Logdatei ausgeben, als Liste.

Es gab mal einen ähnlichen Artikel 2010 im Forum, aber leider bin ich damit gar nicht zurecht gekommen, weil ich eben ein völliger script Trottel bin

Ich hoffe ihr könnt mir helfen?

Vorab schon mal vielen Dank!!!!!

Grüße Samuel
Mitglied: bastla
29.08.2012 um 09:59 Uhr
Hallo samuelT!

Wenn Du Anfangs- und Endwert der Nummern kennst, sollte etwas in der Art funktionieren (zum Testen direkt in CMD; wenn Du einen Batch daraus machen willst, jeweils "%%i" anstatt "%i" verwenden):
for /L %i in (13020400,1,13020450) do @if not exist "F%i.pdf" >>Fehlende.txt echo %i
Grüße
bastla
Bitte warten ..
Mitglied: samuelT
29.08.2012 um 10:27 Uhr
Hallo bastla,
is ja Geil!!! Sorry, aber das funktioniert SUPER!!! Vielen Dank für deine schnelle Hilfe.

Kann ich das ganze auch in ne Batch verpacken und den Ort des Ordners angeben bzw den Ausgabe "Ort" für die Fehler Log?

Grüße Samuel
Bitte warten ..
Mitglied: bastla
29.08.2012 um 11:06 Uhr
Hallo samuelT!
Kann ich das ganze auch in ne Batch verpacken und den Ort des Ordners angeben bzw den Ausgabe "Ort" für die Fehler Log?
Etwa so:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Dein Ordner" 
03.
set "Log=D:\Fehlerlog.txt" 
04.
set /a Von=13020400 
05.
set /a Bis=13020450 
06.
 
07.
del "%Log%" 2>nul 
08.
for /L %%i in (%Von%,1,%Bis%) do ( 
09.
    if not exist "%Ordner%\F%i.pdf" echo F%%i 
10.
    if not exist "%Ordner%\G%i.pdf" echo G%%i 
11.
)>>"%Log%"
Grüße
bastla
Bitte warten ..
Mitglied: samuelT
29.08.2012 um 11:11 Uhr
Perfekt!!! Vielen Dank!!!!
Grüße Samuel
Bitte warten ..
Mitglied: andimue
LÖSUNG 29.08.2012, aktualisiert 10.02.2014
Hi,

ich habs noch ein bisschen weitere automatisiert, so dass nun die F-Dateien und die G-Dateien in einem Aufruf abgearbeitet werden und die erste und letzte Nummer selbstständig ermittelt wird (quick&dirty aber tut)

Gruß Andi

01.
@echo off 
02.
setlocal enableDelayedExpansion 
03.
 
04.
:: 
05.
::Variablendefinitionen 
06.
:: 
07.
set "logfile=%temp%\Fehlende.txt" 
08.
 
09.
 
10.
set "first=*init*" 
11.
set "last=" 
12.
 
13.
 
14.
 
15.
:: 
16.
:: jetzt gehts los - Durchlauf fuer F-Dateien 
17.
:: 
18.
set "letter=f" 
19.
call :sub1 
20.
call :sub2 %first% %last% %letter% 
21.
:: 
22.
:: jetzt gehts los - Durchlauf fuer G-Dateien 
23.
:: 
24.
set "letter=g" 
25.
set "first=*init*" 
26.
call :sub1 
27.
call :sub2 %first% %last% %letter% 
28.
goto :EOF 
29.
 
30.
::################################################################## 
31.
:sub1 
32.
for /f  %%a in ('dir %letter%*.pdf /b /on') do ( 
33.
	if !first!==*init* 	(	 
34.
				set "first=%%a" 
35.
				)  
36.
	set "last=%%a 
37.
38.
goto :EOF 
39.
::################################################################## 
40.
:sub2 
41.
set "first=%~n1" 
42.
set "first=%first:~1,99%" 
43.
set "last=%~n2" 
44.
set "last=%last:~1,99%" 
45.
echo first = %first% 
46.
echo last = %last% 
47.
for /L %%i in (%first%,1,%last%) do @if not exist "%3%%i.pdf" >>%logfile% echo %3%%i.pdf 
48.
goto :EOF 
49.
::##################################################################
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Nummerierte dateien lücke finden .batch (2)

Frage von franky89 zum Thema Batch & Shell ...

Router & Routing
Pfsense - QoS überprüfen

Frage von MegaGiga zum Thema Router & Routing ...

Entwicklung
gelöst Dateiname auf bestimme Zeichenfolge überprüfen? (8)

Frage von matzetto zum Thema Entwicklung ...

Neue Wissensbeiträge
Entwicklung

Exploit Development

Anleitung von burhanudinn123 zum Thema Entwicklung ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(1)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
Leiten "dumme" Switches VLAN-Tags mit durch? (17)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

E-Business
Wo tragt ihr eure privaten Termine ein? (14)

Frage von honeybee zum Thema E-Business ...

Batch & Shell
Batch zum suchen und verschieben von Verknüpfungen (12)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...