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

verschachtelte .bat nur einmal aufrufbar?

Frage Entwicklung Batch & Shell

Mitglied: YeastMaster

YeastMaster (Level 1) - Jetzt verbinden

10.06.2008, aktualisiert 19:52 Uhr, 5779 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Sicherheit
Was ist auf einmal passiert? (11)

Frage von DavidA zum Thema Sicherheit ...

Windows Server
gelöst Einzelne Dateien auf einem Server haben auf einmal keine Berechtigungen mehr (7)

Frage von StefanKittel zum Thema Windows Server ...

Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

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 ...