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

Variable im Script hoch zählen

Frage Entwicklung Batch & Shell

Mitglied: Nagus

Nagus (Level 2) - Jetzt verbinden

05.11.2010 um 15:57 Uhr, 5877 Aufrufe, 6 Kommentare

Hi,
ich stehe gerade auf dem Schlauch:

in einem Script benötige ich die Funktion, das aus einem Verzeichnis "Verzeichnis10" eine Datei in ein Verzeichnis "10" kopiert wird.
Da die Verzeichnisse nicht konsistent nummeriert sind und ich mir die Fehler in der log Datei schenken möchte, sieht mein mein Ansatz derzeit wie folgt aus:

01.
:robocopy 
02.
Set zaehler=10 
03.
if exist  d:\Verzeichnis\Verzeichnis%zaehler% robocopy d:\Verzeichnis\Verzeichnis%zaehler% d:\Verzeichnis\%zaehler% nfpc.* /w:30 /R:10 /V /TS /NP /log+:d:\Copy.log 
04.
Set zaehler=%zaehler%+1 
05.
if %zaehler%==25 goto Ende 
06.
goto robocopy 
07.
 
08.
:ende 
09.
 

Das blöde ist nun nur: der zählt mir die Variable nicht hoch und bleibt immer bei 10. GRRRR

Nagus
Mitglied: bastla
05.11.2010 um 16:09 Uhr
Hallo Nagus!

Wenn gerechnet werden soll, dann musst Du das auch klarstellen:
set /a zaehler=%zaehler%+1
bzw kürzer:
set /a zaehler+=1
Da Du aber sowieso immer von 10 bis 25 zählen willst, könntest Du auch eine "for /L"-Schleife verwenden ...

Grüße
bastla
Bitte warten ..
Mitglied: Nagus
05.11.2010 um 17:22 Uhr
Hi bastla,
danke!
Mit der for Schleife dachte ich mir schon, aber da tue ich mich meist ein bisserl schwer ....
Gruß
Nagus
Bitte warten ..
Mitglied: bastla
05.11.2010 um 18:37 Uhr
Hallo Nagus!

Na ja, aber
for /L %i in (10,1,25) do @echo if exist d:\Verzeichnis\Verzeichnis%i robocopy d:\Verzeichnis\Verzeichnis%i d:\Verzeichnis\%i nfpc.* /w:30 /R:10 /V /TS /NP /log+:d:\Copy.log
(zum Testen direkt an der Kommandozeile, und daher nur mit %i anstatt %%i und einem "@echo") ist dann aber auch nicht so wahnsinnig kompliziert ...

Grüße
bastla
Bitte warten ..
Mitglied: Nagus
05.11.2010 um 18:49 Uhr
Stimmt ist simpel.
Ich hau nur noch einige Formatierungen in das Log rein, damit es besser lesbar wird. Dabei wird dann die Zeile mit der For Schleife und den Pipes so lang, dass ich immer den Überblick verliere und die Tests unübersichtlich werden.
Aber mal sehen - ist eine Option für die Zukunft
Gruß
Nagus
(glücklich weil das Script sauber läuft)
Bitte warten ..
Mitglied: bastla
05.11.2010 um 19:02 Uhr
Hallo Glücklicher !

Du kannst in einem Batch ja auch etwas strukturieren:
01.
for /L %%i in (10,1,25) do ( 
02.
    if exist d:\Verzeichnis\Verzeichnis%%i ( 
03.
        echo Jetzt geht's los mit Verzeichnis%%i! 
04.
        robocopy d:\Verzeichnis\Verzeichnis%%i d:\Verzeichnis\%%i nfpc.* /w:30 /R:10 /V /TS /NP /log+:d:\Copy.log 
05.
        echo Das war's fuer Verzeichnis%%i. 
06.
        echo\ 
07.
08.
)
...und wenn Du an die letzte Klammer noch ein
>D:\Info.log
hängst, landen alle "echo"-Ausgaben in einer Datei ...

Falls Du allerdings Timestamps einbauen wolltest - etwa
        echo Am %date% um %time% geht's los mit Verzeichnis%%i!
müsstest Du dafür "delayedExpansion" verwenden, da ansonsten für %date%und %time% immer die Werte zu Beginn der Schleife verwendet würden.

Grüße
bastla
Bitte warten ..
Mitglied: Nagus
06.11.2010 um 13:30 Uhr
Danke für die Mühe!

Wird aber bestimmt nicht meine letzte Frage sein
Nagus
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Zu viele Variablen in Batch-Script? Speicherproblem? (2)

Frage von dolsch zum Thema Batch & Shell ...

Batch & Shell
gelöst SID per Script auslesen und als Variable einlesen (9)

Frage von tzabbi55 zum Thema Batch & Shell ...

JavaScript
Skript schlägt fehl - nur Zahlen werden gespeichert (3)

Frage von Ah3n0bar6us zum Thema JavaScript ...

Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

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
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Server-Hardware
Bestehendes Raid erweitern um 4 gleiche Platten! (Verständnis Fragen) (12)

Frage von Hendrik2586 zum Thema Server-Hardware ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (11)

Frage von c0d3.r3d zum Thema Windows Update ...