Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

verschachtelte .bat nur einmal aufrufbar?

Frage Entwicklung Batch & Shell

Mitglied: YeastMaster

YeastMaster (Level 1) - Jetzt verbinden

10.06.2008, aktualisiert 19:52 Uhr, 5815 Aufrufe, 3 Kommentare

Hallo!
Ich bin gerade dabei, ein Skript zu basteln, welche mir mittels batch-Dateien das Umbenennen von Dateien erleichtern soll. Als Ausgangsmaterial habe ich zwei Dateilisten (.txt), welche den Vorher- und Nachher-Namen enthalten. Das Skript soll mir in eine neue Datei den Befehl "ren Vorher Nachher" reinschreiben, wobei die Namen aus gleichen Zeilen kommen sollten. Dies hab ich im Großen und Ganzen schon geschafft, jedoch habe ich das Problem, dass ich die batch Datei, welche das macht (und der als Variable die Zeilennummer übergeben wird) nur einmal aufgerufen werden kann.

Hier der Code:

01.
@echo off & setlocal 
02.
set filelist=filelist.txt 
03.
set genelist=genelist.txt 
04.
set /a count=1 
05.
set /a countr=1 
06.
set /a linenbr=%1 
07.
set /a lastline=10 
08.
 
09.
  FOR /f %%a IN (%filelist%) do set line=%%a & call :counter 
10.
   Goto :next 
11.
    :counter 
12.
     if %count%==%linenbr% set file=%line% 
13.
    set /a count+=1 
14.
    goto :eof 
15.
  :next 
16.
 
17.
  FOR /f %%b IN (%genelist%) do set line2=%%b & call :counter2 
18.
   Goto :next2 
19.
    :counter2 
20.
     if %countr%==%linenbr% set gene=%line2%  
21.
    set /a countr+=1 
22.
   goto :eof 
23.
   :next2 
24.
 
25.
echo ren %file% %gene% >> rename.bat
Aufgerufen wir das Ganze folgendermaßen:

createlist.bat 34

Wobei 34 für die beiden Einträge aus den Zeilen, die verknüpft werden sollen, steht. So ein einzelner Aufruf funktioniert tadellos.
Ich möchte das jedoch nicht nur mit einer Zeile machen, sondern mit allen 96.
Eine Schleife (z.b. in einer anderen Datei) bietet sich an, oder eine einfache Aneinanderreihung:

createlist.bat 1
createlist.bat 2
createlist.bat 3
usw.

Das Problem ist nun, dass immer nach dem Ersten Durchlauf abgebrochen wird (egal ob mit Schleife oder so)... Wenn ich die Befehle händisch hintereinander eingebe, funktioniert es auch...
Warum ist das so? bzw. Was muss ich ändern, damits funktioniert???

Liebe Grüße aus Österreich,

Ewald
Mitglied: 60730
10.06.2008 um 17:42 Uhr
Hi,

hast du schon mal folgendes Probiert

Tryout.cmd
01.
Start /wait createlist.bat 1 
02.
Start /wait createlist.bat 2 
03.
Start /wait createlist.bat 3
So wartet die startende batch solange mit dem starten der Createlsit - bis der vorherige Lauf abgearbeitet ist.
Bitte warten ..
Mitglied: YeastMaster
10.06.2008 um 17:52 Uhr
Hmmm....

gute Idee eigentlich, jedoch muss ich nach jedem Durchlauf das vorherige Fenster schließen und auf "batchvorgang abbrechen? (J/N)" antworten.

*edit*

Wenn ich in die aufgerufene Datei am Schluss den Befehl "exit" reinschreibe, dann funkts!!!

Danke für die schnelle Hilfe,

lG Ewald
Bitte warten ..
Mitglied: miniversum
10.06.2008 um 19:52 Uhr
01.
call createlist.bat 1 
02.
call createlist.bat 2 
03.
call createlist.bat 3
so auch?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Verschachtelte FOR-Schleife mit einem Argument (3)

Frage von mp-home zum Thema Batch & Shell ...

Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Datenbanken
gelöst Verschachtelte SQL-Abfrage (4)

Frage von User1000 zum Thema Datenbanken ...

Entwicklung
gelöst Hilfe bei .bat script (1)

Frage von RUBEN123 zum Thema Entwicklung ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (22)

Frage von Syosse zum Thema Windows Server ...

Windows 7
gelöst Windows 7 Anmeldedomäne festlegen (13)

Frage von flotaut zum Thema Windows 7 ...

Windows Server
gelöst WSUS Updates auf iSCSI speichern (10)

Frage von lcer00 zum Thema Windows Server ...