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

PCs umbenennen mit For-Schleife und netdom

Frage Entwicklung Batch & Shell

Mitglied: Larz

Larz (Level 2) - Jetzt verbinden

22.09.2009 um 16:45 Uhr, 3748 Aufrufe, 5 Kommentare

Hallo zusammen,

ich habe folgenden Batch-Schnipsel:

01.
:Start 
02.
@ECHO ======================================================= 
03.
@ECHO Dateiname der PC-Liste angeben: 
04.
set /p Datei= 
05.
@ECHO. 
06.
@ECHO Datei %Datei% auslesen .... 
07.
For /F "tokens=1,2* " %%i in (%Datei%) do call :DoAction %%i %%j 
08.
goto ActionEnd 
09.
 
10.
:DoAction 
11.
netdom renamecomputer %1 /newname:%2 /userd:Domäne\Admin /PasswordD:* /force /reboot:10 
12.
@ECHO ======================================================= 
13.
 
14.
:ActionEnd 
15.
GOTO Abfrage_nochmal 
16.
 
17.
:Abfrage_nochmal 
18.
@ECHO M”chten Sie weitere PCs umbenennen (J/N)? 
19.
set /p Entscheidung= 
20.
if '%Entscheidung%' == 'j' goto Start
Es soll so funktionieren:

1. Eine Datei mit Inhalt alte und neue PC-Namen wird eingelesen
2. Mittels netdom.exe wird der erste PC umbenannt, dann der zweitem, dann der dritte...
3. Danach wird abgefragt, ob eine weitere Liste eingelesen werden soll

Die Datei PC-Liste.txt sieht so auf:

PC1 PC1-neu
PC2 PC2-neu
PC3 PC3-neu
...
Leider klappt das immer nur beim ersten Durchlauf. Was mache ich hier falsch???

Danke für euer Feedback

Gruß
Larz
Mitglied: bastla
22.09.2009 um 17:02 Uhr
Hallo Larz!

Versuch es mit einer Zeile 13
goto :eof
oder verzichte auf "call" und schreibe die Schleife etwa so:
01.
For /F "tokens=1*" %%i in (%Datei%) do ( 
02.
    netdom renamecomputer %%i /newname:%%j /userd:Domäne\Admin /PasswordD:* /force /reboot:10 
03.
@ECHO ======================================================= 
04.
)
Grüße
bastla
Bitte warten ..
Mitglied: 81825
22.09.2009 um 17:09 Uhr
Hallo,

etwas Senf habe ich auch noch beizusteuern:

set /P verträgt auch einen zusätzlichen Text, du kannst dir also die Echo-Zeile vorher sparen:
01.
set /p Datei=Dateiname der PC-Liste angeben   
oder
01.
set /p Entscheidung=M”chten Sie weitere PCs umbenennen (J/N)? 
Bitte warten ..
Mitglied: Larz
24.09.2009 um 08:34 Uhr
Danke für die Info, habe ich noch nicht gewusst...

Gruß
Larz
Bitte warten ..
Mitglied: Larz
24.09.2009 um 08:36 Uhr
Servus bastla,

Du bist schon oft die Lösung meiner (Batch-)Probleme gewesen, wie jetzt auch hier
Was mach denn :eof? Kann dasübersetzt werden mit "End-Of-Function"? "End-Of-File" ist es ja eigentlich nicht...

Gruß
Larz
Bitte warten ..
Mitglied: bastla
24.09.2009 um 14:27 Uhr
Hallo Larz!
Was mach denn :eof? Kann dasübersetzt werden mit "End-Of-Function"? "End-Of-File" ist es ja eigentlich nicht...
Es wird durch die Anweisung "goto :eof" ein Sprung an das Ende der Datei (= des Batches) simuliert - wird der Befehl im "Hauptprogramm" (wie in diesem Fall) verwendet, beendet er den Batch; setzt Du ihn an das Ende eines per "call" aufgerufenen Unterprogrammes, wird damit dieser "Unter-Batch" ebenfalls beendet und es geht im "Hauptprogramm" mit der nächsten Anweisung weiter - insofern entspricht er dann einem "Return" eines klassischen Basic ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst BATCH tempfile in for Schleife umbenennen (4)

Frage von LuceDeCiello zum Thema Batch & Shell ...

Batch & Shell
gelöst Verschachtelte FOR-Schleife mit einem Argument (3)

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

Batch & Shell
For Schleife in einer .sh Datei (4)

Frage von CrystalFlake zum Thema Batch & Shell ...

Batch & Shell
Zwei Ergänzungen in einer For Schleife

Frage von charmeur zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (19)

Frage von McLion zum Thema Router & Routing ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (18)

Frage von Michael-ITler zum Thema Batch & Shell ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (17)

Frage von jensgebken zum Thema Windows Server ...

Festplatten, SSD, Raid
Raidcontroller funktioniert nur, wenn unter Legacy-Boot gestartet wird (13)

Frage von DerWoWusste zum Thema Festplatten, SSD, Raid ...