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, 3606 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
AD-Berechtigungen von zwei Servern miteinander vergleichen (3)

Frage von s0m3ting zum Thema Windows Server ...

Batch & Shell
gelöst Powershell - Dateien aus verschiedenen Arrays - Attribute vergleichen (5)

Frage von Giffas zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateiinhalte vergleichen - Gemeinsamkeiten anzeigen (9)

Frage von Rotnasenkater zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

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

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

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