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

Verzeichnisnamen vergleichen?!

Frage Entwicklung Batch & Shell

Mitglied: LimitsUnkn0wn

LimitsUnkn0wn (Level 1) - Jetzt verbinden

05.12.2007, aktualisiert 18:12 Uhr, 3618 Aufrufe, 4 Kommentare

Wie kann man mit Batch das Verzeichnis mit der höchsten Zahl auswählen?!

Hallo Community,
Ich habe momentan ein Problem mit einem kleinen Batch-Script.
Ich möchte damit ein Verzeichnis auwählen und eine Datei daraus kopieren.

Das Problem: Die Ordner sind nummeriert (Bilder1, Bilder2 , Bilder3 , ... , Bilder53)
und nun soll die batchdatei, den Ordner auswählen der die höchste zahl hat und die Datei Bild001.jpg daraus kopieren.

Natürlich ginge das auch so:

@echo off
cd C:\Pics\Bilder1
copy Bild001.jpg C:\
cd..
if exist Bilder2 goto Bilder2
:Bilder2
cd Bilder2
xcopy /Y Bild001.jpg C:\
cd..
if exist Bilder3 goto Bilder3
:Bilder3
cd Bilder3
xcopy /Y Bild001.jpg C:\
cd..
if exist Bilder4 goto Bilder4
:Bilder4
cd Bilder4
xcopy /Y Bild001.jpg C:\
...

Aber das ist erstens nicht schön :D und zweitens dauert das bei einer hohen Anzahl an Verzeichnissen auch relativ lange.

Deshalb wollte ich mal fragn ob man direkt prüfen kann, welches verzeichnis die höchste zahl dahinter hat und nur aus dem die datei kopieren.
Vielleicht kann man auch etwas über das Erstellungsdatum machen, denn Bild1 ist das älteste und das mit der höchstesn zahl das neuete, nur habe ich keine Ahnung, wie man die Erstellungsdaten vergleicht.

Ich hoffe ihr könnt mir helfen.

Mfg LimitsUnkn0wn
Mitglied: Biber
05.12.2007 um 16:46 Uhr
Moin LimitsUnknown,

willkommen im Forum.
Es sind in der Tat verschiedene Lösungsstrategien für Deine Anforderung Erfolg versprechend.
Genauer gesagt (Anzahl BatchschreiberInnen hoch 2)-1.

Ich würde als die einfachste die Ermittlung des "neuesten" Verzeichnisses wählen.
Test am CMD-Prompt
01.
For /f %i in ('dir /ad /o:d /b c:\pics\Bilder*') do @set "newestDir=%i"
Danach steht in der Variablen %NewestDir% das neueste Verzeichnis. (Anzeigen mit "Set new")

Grüße
Biber
Bitte warten ..
Mitglied: LimitsUnkn0wn
05.12.2007 um 17:19 Uhr
Danke, Danke
Funtkioniert super.
Aber falls jemand eine Lösung kennt, wie man die höchste Zahl ermittelt, wäre ich auch noch aus reinem Interesse daran intressiert ;)
Bitte warten ..
Mitglied: Biber
05.12.2007 um 17:33 Uhr
Moin LimitUnkn0wn,

01.
For  /L %i in (1,1,123) do @if exist c:\pics\bilder%i do @set "highestDir=bilder%i"
Kannst Du noch so einen kleinen grünen Haken setzen bitte?

Grüße
Biber
Bitte warten ..
Mitglied: LimitsUnkn0wn
05.12.2007 um 18:12 Uhr
Hab ich gemacht
Und nochmal Danke
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel: Wert aus mehreren Zeilen vergleichen (2)

Frage von Nicolaas zum Thema Microsoft Office ...

Batch & Shell
gelöst AD Usernamen in CSV Vergleichen (32)

Frage von Hainoon zum Thema Batch & Shell ...

Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (52)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...