Top-Themen

Aktuelle Themen (A bis Z)

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 BATCH: Fehler beim Schleifenzähler der FOR-Schleife

Mitglied: leowatzn

leowatzn (Level 1) - Jetzt verbinden

13.08.2019, aktualisiert 08:41 Uhr, 178 Aufrufe, 8 Kommentare, 1 Danke

Hallo zusammen,
bei meinem Batch code soll folgendes passieren:

Abfrage Ordner anzahl & die maximale Anzahl der sich darin befindenden Dateien.
Alle Dateien aus allen Ordnern sollen mittels FOR von \User\Ordner\*1-x*\ nach \User\Test\ kopiert.

01.
REM @ECHO OFF
02.
CHCP 1252
03.

04.
SET /P e = "Anzahl der Ordner: "
05.
SET /P m = "Maximale Anzahl der Dateien pro Ordner: "
06.

07.
FOR /L %%o IN (1,1,%%e) DO ( 
08.
	FOR %%f IN (C:\User\Ordner\%%o\*.txt) DO COPY %%f C:\User\Test\
09.
)
10.
PAUSE
Hier stellt sich schon das erste Problem:
Die Dateien werden nicht kopiert. Wenn man die Ordner einzeln angibt sprich,
01.
FOR %%f IN (C:\User\ordner\1\*.txt) DO COPY %%f C:\User\Test\
02.
FOR %%f IN (C:\User\ordner\2\*.txt) DO COPY %%f C:\User\Test\
03.
...
funktioniert es.


Nun zu Problem Nr. 2:
Hier soll in jede Datei (welche nun bereits in C:\User\Test\ liegen sollen) der Dateiname unter diesem Prinzip eingefügt werden
und der Inhalt der Datei ausgegeben werden.
01.
FOR /L %%i IN (1,1,%%e) DO (
02.
	FOR /L %%j IN (1,1,%%m) DO (
03.
		FOR /F %%f IN (C:\User\Test\%%i.%%j.txt) DO (
04.
			ECHO  %%i.%%j.txt >> C:\User\Test\%%i.%%j.txt
05.
			ECHO %%f %%i %%j
06.
		)
07.
	)
08.
)
09.
PAUSE
Bei der Ausgabe sollte nun also: (bei 5 Ordnern mit jeweils 5 Dateien)
01.
<inhalt> 1 1
02.
<inhalt> 1 2
03.
...
04.
<inhalt> 1 5 
05.
<inhalt> 2 1
06.
...
07.
<inhalt> 2 5
08.
<inhalt> 3 1
09.
...
10.
<inhalt> 3 5
11.
<inhalt> 4 1
12.
...
13.
<inhalt> 4 5
14.
<inhalt> 5 1
15.
...
16.
<inhalt> 5 5


Die Ausgabe ist jedoch:

01.
<inhalt> 1 1
02.
<inhalt> 1 2
03.
...
04.
<inhalt> 1 5 //bis hier ist noch alles korrekt
05.
<inhalt> 2 1
06.
...
07.
<inhalt> 2 4 //!!
08.
<inhalt> 3 1
09.
...
10.
<inhalt> 3 4 //!!
11.
<inhalt> 4 1
12.
...
13.
<inhalt> 4 4 //!!
14.
<inhalt> 5 1
15.
...
16.
<inhalt> 5 4 //!!
Woran kann das liegen? (Betriebssystem: Windows 10 Enterprise, ausgabe in CMD)
LG leowatzn
Mitglied: coding
LÖSUNG 13.08.2019, aktualisiert um 11:36 Uhr
Da sind ja auch diverse Fehler in deinem Skript, angefangen an fehlerhaftem Zuweisen zu einer Variablen bis hin zu falschen Verwendung der nicht existenten Variablen.
01.
@ECHO OFF &setlocal ENABLEDELAYEDEXPANSION
02.
CHCP 1252
03.

04.
SET /P anzahl="Anzahl der Ordner: "
05.
SET /P max="Maximale Anzahl der Dateien pro Ordner: "
06.

07.
FOR /L %%x IN (1,1,%anzahl%) DO (
08.
  set cnt=1
09.
  for %%a IN ("C:\User\Ordner\%%x\*.txt") DO (
10.
    if !cnt! LEQ %max% (
11.
        COPY "%%a" "C:\User\Test\"
12.
        echo %%x-!cnt!.txt >>"C:\User\Test\%%~nxa"
13.
        type "C:\User\Test\%%~nxa"
14.
        set /a cnt+=1
15.
    )
16.
  )
17.
)
Bitte warten ..
Mitglied: leowatzn
13.08.2019, aktualisiert um 11:09 Uhr
Danke für deine Antwort.
Ich habe deinen Code getestet, jedoch tut sich nach
Zitat von coding:
01.
SET /P anzahl="Anzahl der Ordner: "
02.
SET /P max="Maximale Anzahl der Dateien pro Ordner: "
nichts mehr. Auch bei deaktivierung von @echo off wird nichts angezeigt was auf den Fehler hinweist,
das Programm wird lediglich beendet.

Mit den Variablen kenne ich mich kaum aus, habe natürlich im Internet nachgeschlagen finde aber nichts Nützliches.

lg
Bitte warten ..
Mitglied: coding
13.08.2019, aktualisiert um 11:18 Uhr
Nur ne Klammer beim Kopieren vergessen ist oben nachgetragen.
Bitte warten ..
Mitglied: leowatzn
13.08.2019 um 11:30 Uhr
Danke für die Korrektur! - Läuft einwandfrei.

Weißt du evt. noch etwas zu Problem Nr.2 ?
01.
FOR /L %%i IN (1,1,%%e) DO (
02.
	FOR /L %%j IN (1,1,%%m) DO (
03.
		FOR /F %%f IN (C:\User\Test\%%i.%%j.txt) DO (
04.
			ECHO  %%i.%%j.txt >> C:\User\Test\%%i.%%j.txt
05.
			ECHO %%f %%i %%j
06.
		)
07.
	)
08.
)
09.
PAUSE
Genaueres kannst du in der obigen Fragestellung nachlesen.
Bitte warten ..
Mitglied: leowatzn
13.08.2019, aktualisiert um 11:52 Uhr
Selbes Problem wie im Original, nur dass nun die *.5-er Dateien (bis auf 1.5.txt) nicht mehr überhaupt nicht
angezeigt werden, sondern stattdessen folgendes angezeigt wird:

1 Datei(en) kopiert.
<inhalt>㈠㔮琮瑸ഠ
Bitte warten ..
Mitglied: coding
LÖSUNG 13.08.2019, aktualisiert um 12:39 Uhr
Dann haben deine Dateien UTF oder eine andere Kodierung wie Unicode & Co also entweder Codepage passend setzen oder besser gleich die Powershell nutzen wenn man mit solchen Dateien hantiert...
Bitte warten ..
Mitglied: leowatzn
13.08.2019 um 13:27 Uhr
Dies ist tatsächlich der Fall.
Danke für deine Hilfe!

LG leowatzn
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
FOR Loop Variablen ( Batch )
gelöst Frage von clragonBatch & Shell2 Kommentare

Hey Leute. Ich schreib grad an einem script rum und hab folgendes Problem: Die Variable eines FOR loop meines ...

Batch & Shell
Batch Schleife als FOR-SCHLEIFE
gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Batch & Shell
Batch Variablen in for-Schleife
gelöst Frage von Dacki1107Batch & Shell2 Kommentare

Hallo Liebe Administratoren Ich kämpfe mit einem kleinen Problemchen und hoffe das Ihr mir helfen könnt. Ich versuche eine ...

Batch & Shell
Batch - Hilfe bei FOR-Schleife
gelöst Frage von makroll10Batch & Shell8 Kommentare

Hallo, aus einer Access-Datenbank heraus rufe ich per VBA den u.a. Batch mit den Parametern: Reports!UB_System!Pfad ("C:\Users\User\Documents\Polar\") und Reports!UB_Polar!hrmexport1 ...

Neue Wissensbeiträge
Humor (lol)
Zuviel Speicher ist ungesund. :-)
Tipp von Lochkartenstanzer vor 5 StundenHumor (lol)8 Kommentare

Moin Kollegen, Heute hatte ich ein ungewöhnliches Aha-Erlebnis: Über das Wochenende habe ich einen einen 6 Jahre alten Bare-Metal ...

Windows Update

KB4517297 verfügbar, behebt Fehler in VB6 VBA VBScript

Information von sabines vor 8 StundenWindows Update

Das Update behebt mögliche Fehler in VB6, VBA und VBScript, die durch das Update KB4512486 vom August entstanden sind. ...

Viren und Trojaner

Staatstrojaner soll auch per Einbruch installiert werden können

Information von transocean vor 1 TagViren und Trojaner3 Kommentare

Moin, Bundesinnenminister Horst Seehofer will dem Verfassungsschutz Wohnungseinbrüche erlauben, um den geplanten Staatstrojaner zu installieren. Gruß Uwe

Windows 7
Win7 Update scheitert KB4512506
Information von infowars vor 2 TagenWindows 7

Falls jemand auch das Problem hat mit dem: Monatliches Sicherheitsqualitätsrollup für Windows 7 für x64-basierte-Systeme (KB4512506) Das scheint mit ...

Heiß diskutierte Inhalte
Switche und Hubs
Glasfaser-Anschluss Telekom muss verteilt werden
Frage von cansoniSwitche und Hubs34 Kommentare

Vorweg: Bin nur Anwender und kein Experte Die Situation: Der Vermieter stellt einen Glasfaseranschluss in der Wohnung bereit. Wir ...

Hyper-V
Bei Neuaufbau auf Core-Server setzen?
gelöst Frage von dertowaHyper-V32 Kommentare

Hallo zusammen, ich habe vor einigen Monaten die Verantwortung für eine EDV-Landschaft übernommen die seit Jahren von einem Dienstleister ...

Hyper-V
VMs von Hyper-V auf externer Festplatte
gelöst Frage von SnowbirdHyper-V18 Kommentare

Hallo, ich möchte gerne von VirtualBox auf Hyper-V umsteigen und würde auch gerne weiterhin meine VMs auf der externen ...

Festplatten, SSD, Raid
SSDs durch Lagerung ohne Strom nach 6 Monaten defekt?!?
gelöst Frage von GlobetrotterFestplatten, SSD, Raid18 Kommentare

Moin Gemeinde Ich hatte gerade nen Trauerspiel Habe hier etliche NAS-Geräte herumfahren welche ich mal auf die Seite gelegt ...