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

Aus Ordnernamen sollen TXT Dateien erstellt werden

Frage Entwicklung Batch & Shell

Mitglied: Andichrist

Andichrist (Level 1) - Jetzt verbinden

04.11.2009, aktualisiert 18.10.2012, 5133 Aufrufe, 14 Kommentare

Ich suche Lösungen für:
a) TXT-Datei aus kompletten Ordnernamen erstellen
b) TXT-Datei aus den ersten 4 Zeichen des Ordnernamens erstellen

Hallo an Alle!

ich möchte gerne 1) in einem Verzeichnis für jeden vorhanden Ordnern eine namentlich gleiche TXT-Dateien erstellen!

Ich meinte hier einen Ansatz Dateinamen auslesen und neue Dateien erstellen gefunden zu haben. Aber leider funktioniert, dass mit meinen Anpassungen nicht!

Ursprünglicher Quellcode von 'bastla'
@echo off & setlocal  
for %%i in ("C:\Ein bestimmter Ordner\*.*") do if not exist "%%~dpni.txt" echo\>"%%~dpni.txt"
Meine 'Code' Anpassung
@echo off & setlocal  
set "targetdir=." & REM  oder Verz. setzen z.B.  set "targetdir=C:\Temp"  
for %%i in ("%targetdir%\dir /b /ad") do if not exist "%%~dpni.txt" echo\>"%%~dpni.txt"
Leider funktioniert es nicht - es passiert gar nichts! GGGRRR

2) Benötige ich noch eine erweiterte Batch die nur aus den ersten 4 Zeichen (numerisch) des Ordnernamens jeweils eine TXT-Datei erstellt!

Beispiel für Ordner
.... 
3648 - Duschkopf chrom  
3649 - Duschkopf blau  
3650 - Blumenvase lila  
3651 - Blumenvase grün  
3652 - Abflußrohr  
...
Es wäre nett, wenn mir jemand weiter helfen könnte!

Viele Grüße und Danke im Voraus
Andychrist
Mitglied: rubberman
04.11.2009 um 01:29 Uhr
Hallo Andychrist,

ganz hab ich nicht verstanden was du vorhast. Aber vielleicht
1) so:
01.
@echo off &setlocal 
02.
set "targetdir=C:\Temp" 
03.
pushd "%targetdir%" 
04.
for /d %%i in (*) do echo %%i>"%~dp0\%%i.txt" 
05.
popd
und 2) so:
01.
@echo off &setlocal enabledelayedexpansion  
02.
set "targetdir=C:\Temp" 
03.
pushd "%targetdir%" 
04.
for /d %%i in (*) do set "x=%%i" &set "x=!x:~,4!" &echo !x!>"%~dp0\!x!.txt" 
05.
popd
Grüße
rubberman
Bitte warten ..
Mitglied: Andichrist
04.11.2009 um 01:52 Uhr
Hallo rubberman,

danke für Deine rasche Antwort zu später Stunde!

Es ist ganz einfach was ich möchte. 1) Ich habe in einem Verzeichnis zB c:\Temp "tausende" durchnummerierte Order zB. "1236 - Brot"! Zwecks Weiterverarbeitung benötige ich für jeden Order eine gleich lautende TXT-Datei also "1236 - Brot.txt"!

Im 2) Schritt benötige ich von diesen "tausende" durchnummerierten Ordner nur die eindeutige 4-stellige Anfangsnummer! Zwecks Datenabgleich und Überprüfung ob vielleicht ein Ordner "1234 - Bratwurst" zwischen "1233 - Senf" und "1235 - Bier" abhanden gekommen ist. Auch wieder als als TXT-Datei, also 1233.txt, 1235.txt ...usw

Ich hoffe es ist jetzt etwas verständlicher geworden was ich meinte.

Deine Lösungsvorschläge zu (1) und (2) funktionieren ganz gut. Allerdings ist störend, dass die so erzeugten TXT-Dateien nicht LEER sind, sondern zusätzlich mit dem entsprechenden Dateinamen gefüllt sind.

Viele Grüße
Andychrist
Bitte warten ..
Mitglied: bastla
04.11.2009 um 10:09 Uhr
@rubberman
1) hätte ich eher so interpretiert :
01.
@echo off & setlocal 
02.
set "targetdir=C:\Temp" 
03.
 
04.
pushd "%targetdir%" 
05.
for /d %%i in (*) do echo\>"%%~i.txt" 
06.
popd
2) Wenn es darum geht, die Vollständigkeit zu prüfen,würde sich eine "for /L"-Schleife anbieten, etwa:
01.
@echo off & setlocal enabledelayedexpansion  
02.
set "targetdir=C:\Temp" 
03.
set "Log=Fehlende.txt" 
04.
 
05.
pushd "%targetdir%" 
06.
if exist "%Log%" del "%Log%" 
07.
set Low= 
08.
set High= 
09.
for /f %%i in ('dir /b /ad /on') do set High=%%i & if not defined Low set /a Low=%%i 
10.
if not defined High (echo Keine Ordner gefunden & goto :eof) 
11.
set /a Low=%Low:~,4% 2>nul || (echo Ungueltiger Ordnername %Low% & goto :eof) 
12.
if %Low%==0 (echo Ordner ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
13.
set /a High=%High:~,4% 2>nul || (echo Ungueltiger Ordnername %High% & goto :eof) 
14.
if %High%==0 (echo Ordner ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
15.
for /L %%i in (%Low%,1,%High%) do dir /b /ad|findstr /b /c:"%%i ">nul || >>Fehlende.txt echo %%i 
16.
popd
Vorausgesetzt wird, dass es nur mit 4 Ziffern und einem darauffolgenden Leerzeichen beginnende Ordnernamen gibt. Die Log-Datei "Fehlende.txt" wird, wenn in Zeile 3 kein vollständiger Pfad angegeben ist, im Zielordner erstellt.

Grüße
bastla
Bitte warten ..
Mitglied: Andichrist
04.11.2009 um 14:15 Uhr
Zitat von bastla:
@rubberman
1) hätte ich eher so interpretiert :
01.
@echo off & setlocal 
02.
 set "targetdir=C:\Temp" 
03.
  
04.
 pushd "%targetdir%" 
05.
 for /d %%i in (*) do echo\>"%%~i.txt" 
06.
 popd 
07.
 
Danke @bastla, das funktioniert perfekt!

Der Vollständigkeit halber für die Interessierten noch eine Lösung ohne pushd/ popd

Lösung von bastla:
for /d %%i in ("%targetdir%\*.*") do if not exist "%%~fi.txt" echo\>"%%~fi.txt"
2) Wenn es darum geht, die Vollständigkeit zu
prüfen,würde sich eine "for /L"-Schleife
anbieten, etwa:
01.
@echo off & setlocal enabledelayedexpansion  
02.
set "targetdir=C:\Temp" 
03.
set "Log=Fehlende.txt" 
04.
 
05.
pushd "%targetdir%" 
06.
if exist "%Log%" del "%Log%" 
07.
set Low= 
08.
set High= 
09.
for /f %%i in ('dir /b /ad /on') do set High=%%i & if not defined Low set /a Low=%%i 
10.
if not defined High (echo Keine Ordner gefunden & goto :eof) 
11.
set /a Low=%Low:~,4% 2>nul || (echo Ungueltiger Ordnername %Low% & goto :eof) 
12.
if %Low%==0 (echo Ordner ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
13.
set /a High=%High:~,4% 2>nul || (echo Ungueltiger Ordnername %High% & goto :eof) 
14.
if %High%==0 (echo Ordner ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
15.
for /L %%i in (%Low%,1,%High%) do dir /b /ad|findstr /b /c:"%%i ">nul || >>Fehlende.txt echo %%i 
16.
popd 
17.
 
Vorausgesetzt wird, dass es nur mit 4 Ziffern und einem
darauffolgenden Leerzeichen beginnende Ordnernamen gibt. Die Log-Datei
"Fehlende.txt" wird, wenn in Zeile 3 kein vollständiger
Pfad angegeben ist, im Zielordner erstellt.

Auch dieses Script funktioniert perfekt! Zu perfekt! Du bist mir mit dieser Lösung sogar einen Schritt voraus, als die von mir ursprünglich gewollten tausend erzeugten TXT-Dateien auszuwerten! Denn diese Script liefert die fehlenden 'Nummern' direkt in eine LOG-Datei (das wäre bei mir der 2. Arbeitsschritt gewesen). Auch gut gelöst ist, dass ich per Abfrage VON -> BIS nicht angeben muss! TOP.

Da Du mir jetzt einen Arbeitsschritt erspart hast (!) ^^, brauche ich in der LOG anstatt der 'Nummer' den kompletten OrdnerNamen. Könntest Du bitte das Script noch so anpassen! Danke.

Viele Grüße
Andychrist
Bitte warten ..
Mitglied: bastla
04.11.2009 um 14:30 Uhr
Hallo Andy!
... brauche ich in der LOG anstatt der 'Nummer' den kompletten OrdnerNamen.
Da in der Log-Datei die nicht gefundenen Nummern stehen, stelle ich es mir etwas schwierig vor, die dazugehörigen nicht vorhandenen Namen auszugeben - wie ist das also gemeint (ev mit Beispiel)?

Grüße
bastla
Bitte warten ..
Mitglied: Andichrist
04.11.2009, aktualisiert 18.10.2012
Zitat von bastla:
Hallo Andy!
> ... brauche ich in der LOG anstatt der 'Nummer' den
kompletten OrdnerNamen.
Da in der Log-Datei die nicht gefundenen Nummern stehen, stelle ich
es mir etwas schwierig vor, die dazugehörigen nicht vorhandenen
Namen auszugeben - wie ist das also gemeint (ev mit Beispiel)?

WIE - hast Du Deine Glaskugel heute nicht dabei!

Sorry, habe ich vergessen anzugeben. Es gibt eine vollständige Inventarliste.txt.

Die Lösung gibt es aber schon >>hier<<

Aufbau: Inventarliste.txt

0000 - Blaues Geländer 
0001 - Treppenabsatz beige 
.... 
3648 - Duschkopf chrom 
3649 - Duschkopf blau 
3650 - Blumenvase lila 
3651 - Blumenvase grün 
3652 - Abflußrohr 
... 
3753 - Stehlampe Modell Klara 
3754 - Funkuhr Modell Schwarzwald 
3755 - Tisch 
....
Deine o. g. Batch(2) Ergebnis Fehlende.txt

... 
3648 
3650 
3652 
3753 
3754 
3755 
...
Jetzt müssen beide Ergebnisse noch abgeglichen werden!

Endresultat was fehlt:

.... 
3649 - Duschkopf blau 
3651 - Blumenvase grün 
....
Lösungsansatz wäre:

@echo off & setlocal 
set "Quelle=Inventarliste.txt" 
set "Liste=Fehlende.txt" 
set "Erg=Fehlliste.txt" 
 
if exist "%Erg%" del "%Erg%" 
for /f "usebackq delims=" %%i in ("%Liste%") do for /f "delims=" %%d in ('findstr /c:"%%i" "%Quelle%"') do >>"%Erg%" echo %%d

Das fertige Script würde dann so aussehen:

01.
@echo off & setlocal enabledelayedexpansion  
02.
set "targetdir=." & REM  oder Verz. setzen z.B.  set "targetdir=C:\Temp" 
03.
set "Quelle=Inventarliste.txt" 
04.
set "Log=Fehlende.txt" 
05.
set "Erg=Fehlliste.txt" 
06.
 
07.
 
08.
 
09.
:: Teil 1  - fehlende Ordner ermitteln! 
10.
pushd "%targetdir%" 
11.
if exist "%Log%" del "%Log%" 
12.
set Low= 
13.
set High= 
14.
for /f %%i in ('dir /b /ad /on') do set High=%%i & if not defined Low set /a Low=%%i 
15.
if not defined High (echo Keine Ordner gefunden & goto :eof) 
16.
set /a Low=%Low:~,4% 2>nul || (echo Ungueltiger Ordnername %Low% & goto :eof) 
17.
if %Low%==0 (echo Ordner ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
18.
set /a High=%High:~,4% 2>nul || (echo Ungueltiger Ordnername %High% & goto :eof) 
19.
if %High%==0 (echo Ordner ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
20.
for /L %%i in (%Low%,1,%High%) do dir /b /ad|findstr /b /c:"%%i ">nul || >>Fehlende.txt echo %%i 
21.
popd 
22.
 
23.
:: Teil 2 -  Abgleich wie heißen die fehlenden Ordner 
24.
if exist "%Erg%" del "%Erg%" 
25.
for /f "usebackq delims=" %%i in ("%Log%") do for /f "delims=" %%d in ('findstr /c:"%%i" "%Quelle%"') do >>"%Erg%" echo %%d
Danke für eure Hilfe!

Grüße
Andychrist
Bitte warten ..
Mitglied: Andichrist
04.11.2009 um 17:01 Uhr
Hallo @bastla,

jetzt hätte ich noch eine bitte an Dich!

Dein Script(2) funktioniert mit Ordnern so gut, kannst Du es bitte auch für Dateien tauglich machen?

Also bitte so abändern, dass es anstatt mit Ordnern mit Dateien (.TXT) funktioniert! Das wäre zusätzlich sehr hilfreich für mich.

01.
@echo off & setlocal enabledelayedexpansion  
02.
set "targetdir=C:\Temp" 
03.
set "Log=Fehlende.txt" 
04.
 
05.
pushd "%targetdir%" 
06.
if exist "%Log%" del "%Log%" 
07.
set Low= 
08.
set High= 
09.
for /f %%i in ('dir /b /ad /on') do set High=%%i & if not defined Low set /a Low=%%i 
10.
if not defined High (echo Keine Ordner gefunden & goto :eof) 
11.
set /a Low=%Low:~,4% 2>nul || (echo Ungueltiger Ordnername %Low% & goto :eof) 
12.
if %Low%==0 (echo Ordner ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
13.
set /a High=%High:~,4% 2>nul || (echo Ungueltiger Ordnername %High% & goto :eof) 
14.
if %High%==0 (echo Ordner ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
15.
for /L %%i in (%Low%,1,%High%) do dir /b /ad|findstr /b /c:"%%i ">nul || >>Fehlende.txt echo %%i 
16.
popd
Danke im Voraus.

Grüße
Andychrist
Bitte warten ..
Mitglied: bastla
04.11.2009 um 17:08 Uhr
Hallo Andy!

Dann sparen wir doch den Zwischenschritt über die "Fehlende.txt" auch noch ein (das Testen übernimmst ja sicher Du ):
01.
@echo off & setlocal 
02.
set "targetdir=." & REM  oder Verz. setzen z.B.  set "targetdir=C:\Temp" 
03.
set "Quelle=Inventarliste.txt" 
04.
set "Erg=Fehlliste.txt" 
05.
 
06.
:: fehlende Ordner ermitteln! 
07.
pushd "%targetdir%" 
08.
if exist "%Erg%" del "%Erg%" 
09.
set Low= 
10.
set High= 
11.
for /f %%i in ('dir /b /ad /on') do set High=%%i & if not defined Low set /a Low=%%i 
12.
if not defined High (echo Keine Ordner gefunden & goto :eof) 
13.
set /a Low=%Low:~,4% 2>nul || (echo Ungueltiger Ordnername %Low% & goto :eof) 
14.
if %Low%==0 (echo Ordner ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
15.
set /a High=%High:~,4% 2>nul || (echo Ungueltiger Ordnername %High% & goto :eof) 
16.
if %High%==0 (echo Ordner ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
17.
for /L %%i in (%Low%,1,%High%) do dir /b /ad|findstr /b /c:"%%i ">nul || ( 
18.
    findstr /b /c:"%%i " "%Quelle%" >nul && (findstr /b /c:"%%i " "%Quelle%" >>"%Erg%") || (echo %%i konnte in %Quelle% nicht gefunden werden) 
19.
20.
popd
Wie es aussieht, werden wir übrigens "delayedExpansion" nicht benötigen, daher besser weglassen ...

Grüße
bastla

[Edit] Sollte eigentlich über den beiden vorigen Kommentaren stehen [/Edit]
Bitte warten ..
Mitglied: bastla
04.11.2009 um 17:13 Uhr
Hallo Andy!
so abändern, dass es anstatt mit Ordnern mit Dateien (.TXT) funktioniert!
Eigentlich sollte dafür eine Anpassung des "dir"-Befehles genügen (jeweils von
dir /b /ad /on
auf
dir /b /a-d /on *.txt
ändern).

Grüße
bastla
Bitte warten ..
Mitglied: Andichrist
04.11.2009 um 18:09 Uhr
Hallo bastla,

was soll ich sagen - ich bin begeistert! Es funktioniert alles zu meiner vollsten Zufriedenheit!

Deine vorherige Batch-Anpassung funktioniert ohne 'Zwischenschritt' tadellos.

Danke für den TIP mit der Anpassung für Dateien.

dir /b /a-d /on *.txt
Die Anpassung funktioniert einwandfrei!

Exkurs zum Abschluß:

Wie müßte die Code-Zeile lauten, wenn ich zwei Datei-Typen gleichzeitig überprüfen müßte?

Also zB.: .TXT und .INF

Grüße
Andy
Bitte warten ..
Mitglied: bastla
04.11.2009 um 18:37 Uhr
Hallo Andy!
Es funktioniert alles zu meiner vollsten Zufriedenheit!
Freut mich.
Wie müßte die Code-Zeile lauten, wenn ich zwei Datei-Typen gleichzeitig überprüfen müßte?
Hinsichtlich des "dir" ginge das recht einfach:
dir /b /a-d /on *.txt *.inf
Allerdings wäre das im konkreten Fall eine "Oder"-Verknüpfung - eine Datei (egal welchen Typs) würde schon genügen, um als Ergebnis "nicht fehlend" zu produzieren.

Falls Du (vermutlich) eine "Und"-Verknüpfung willst, müsste in der "for /L"-Schleife nach beiden Typen getrennt geprüft werden, also etwa:
01.
for /L %%i in (%Low%,1,%High%) do ( 
02.
    dir /b /ad *.txt|findstr /b /c:"%%i ">nul || ( 
03.
        findstr /b /c:"%%i " "%Quelle%" >nul && (findstr /b /c:"%%i " "%Quelle%" >>"%Erg%") || (echo %%i konnte in %Quelle% nicht gefunden werden) 
04.
    ) && ( 
05.
    dir /b /ad *.inf|findstr /b /c:"%%i ">nul || ( 
06.
        findstr /b /c:"%%i " "%Quelle%" >nul && (findstr /b /c:"%%i " "%Quelle%" >>"%Erg%") || (echo %%i konnte in %Quelle% nicht gefunden werden) 
07.
08.
)
(noch weniger getestet als vorhin )

Grüße
bastla
Bitte warten ..
Mitglied: Andichrist
04.11.2009 um 23:24 Uhr
Hi,

danke für die rasche Antwort. In meinem Fall benötige ich eine "Oder"-Verknüpfung!

Wir müssen aber nochmals einen Schritt zurück!

Leider funktioniert es mit Dateien noch nicht! Ich habe mich geirrt.

TXT-Dateien
dir /b /a-d /on *.txt
bzw.

TXT-Dateien 'oder' INF-Dateien
dir /b /a-d /on *.txt *.inf

Beide Code-Zeilen führen jeweils zum gleichen Ergebnis! Es wird jeweils ein Auszug
beginnend bei %Low und endend bei %High aus der Inventarliste.txt erzeugt.

Für eine Lösung wäre es mir recht, wenn man gleich beide Fälle .TXT 'oder' .INF berücksichtigen könnte.

Grüße
Andychrist
Bitte warten ..
Mitglied: bastla
05.11.2009 um 00:18 Uhr
Hallo Andy!

Eigentlich sollte es so funktionieren:
01.
@echo off & setlocal 
02.
set "targetdir=." & REM  oder Verz. setzen z.B.  set "targetdir=C:\Temp" 
03.
set "Quelle=C:\Inventarliste.txt" 
04.
set "Erg=C:\Fehlliste.txt" 
05.
 
06.
:: fehlende Dateien ermitteln! 
07.
pushd "%targetdir%" 
08.
if exist "%Erg%" del "%Erg%" 
09.
set Low= 
10.
set High= 
11.
for /f %%i in ('dir /b /a-d /on *.txt *.inf') do set "High=%%i" & if not defined Low set "Low=%%i" 
12.
if not defined High (echo Keine Dateien gefunden & goto :eof) 
13.
set /a Low=%Low:~,4% 2>nul || (echo Ungueltiger Dateiname %Low% & goto :eof) 
14.
if %Low%==0 (echo Datei ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
15.
set /a High=%High:~,4% 2>nul || (echo Ungueltiger Dateiname %High% & goto :eof) 
16.
if %High%==0 (echo Datei ohne Nummer gefunden - Pruefung kann nicht erfolgen & goto:eof) 
17.
for /L %%i in (%Low%,1,%High%) do dir /b /a-d *.txt *.inf|findstr /b /c:"%%i ">nul || ( 
18.
    findstr /b /c:"%%i " "%Quelle%" >nul && (findstr /b /c:"%%i " "%Quelle%" >>"%Erg%") || (echo %%i konnte in %Quelle% nicht gefunden werden) 
19.
20.
popd
Zu beachten wäre, dass die Quell-Datei "Inventarliste.txt" und die Ergebnisdatei nicht im Ordner mit den nummerierten Dateien liegen dürfen - daher jeweils vollständige Pfade angeben.

Grüße
bastla
Bitte warten ..
Mitglied: Andichrist
05.11.2009 um 00:52 Uhr
Hallo bastla,

Zu beachten wäre, dass die Quell-Datei "Inventarliste.txt" und die Ergebnisdatei nicht im Ordner
mit den nummerierten Dateien liegen dürfen - daher jeweils vollständige Pfade angeben.

ach ja, dass wäre auch zu schön gewesen, wenn es das gewesen wäre. Leider ändert sich nichts! Es funktioniert nicht

Es spielt keine Rolle, ob ich das Script mit absoluten oder relativen Pfaden aufrufe. In der Ergebnisdatei werden einfach alle Artikel durch gezählt (ob vorhanden oder nicht) und aus der Inventarliste.txt aufgelistet - beginnend bei %Low und endend bei %High!

Grüße
Andy
EDIT: Alles wieder zurück - ES FUNKTIONIERT!

Ich hatte übersehen, dass Du nicht nur die Pfade abgeändert hast, sondern zusätzlich die letzte FOR /L-Schleife angepaßt hast! Mit dieser Neuen funktioniert es! TOP

Alte-Code-Zeile:
01.
for /L %%i in (%Low%,1,%High%) do dir /b /ad|findstr /b /c:"%%i ">nul || ( 
02.
    findstr /b /c:"%%i " "%Quelle%" >nul && (findstr /b /c:"%%i " "%Quelle%" >>"%Erg%") || (echo %%i konnte in %Quelle% nicht gefunden werden) 
03.
)
Neue Code-Zeile:
01.
for /L %%i in (%Low%,1,%High%) do dir /b /a-d *.txt *.inf|findstr /b /c:"%%i ">nul || ( 
02.
    findstr /b /c:"%%i " "%Quelle%" >nul && (findstr /b /c:"%%i " "%Quelle%" >>"%Erg%") || (echo %%i konnte in %Quelle% nicht gefunden werden) 
03.
)
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst 2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben (6)

Frage von sid.pdm zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell: Variablen aus .txt Dateien heraus ausgeben (5)

Frage von Tobiased zum Thema Batch & Shell ...

Microsoft Office
gelöst Txt Dateien in Excel importieren (9)

Frage von Serbitar zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...