Top-Themen

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 Mit Batch untergeordneten Ordner suchen

Mitglied: JK87

JK87 (Level 1) - Jetzt verbinden

14.09.2005, aktualisiert 15.09.2005, 21397 Aufrufe, 7 Kommentare

Hey,

habe folgendes Problem:

Ich möchte in einem bestimmten Ordner nach einen Unterordner suchen, welcher sich namentlich ständig ändert!
ODER
In einem Ordner alle untergeordneten Ordner nach Datei test.txt durchsuchen und Pfad als Variable speichern!

Danke für alle Hilfen

JK
Mitglied: Biber
14.09.2005 um 15:46 Uhr
Moin, JK87,

entweder mit "FOR /R... IN .. DO":
01.
::-------snipp FindDirContainingTestTxt.bat-------------------------------------
02.
@for /R <i>x:\parentDir</i> %%i in (tes?.txt) do Set FoundDir=%%~dpi
03.
::-------snapp FindDirContainingTestTxt.bat------------------------------------
oder mit "FOR /F" und "attrib " oder "Dir /s":
01.
::-------snipp OtherFindDirContainingTestTxt.bat---------------------------------
02.
@for /F "tokens=1-2" %%i in ('attrib /s <i>x:\Parentdir</i>\test.txt') do set FoundDir=%%~dpj
03.
::-------snapp OtherFindDirContainingTestTxt.bat-------------------------------------------
für X: und ParentDir muss Du natürlich Deine Werte einsetzen.

..auch -zig andere Oneliner-Variationen sind möglich .. schau mal bei "Help FOR".

Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: JK87
14.09.2005 um 17:39 Uhr
Wie kann ich das mir folgenden verknüpfen?
%%~dpi = soll der gefunden Ordner sein

set prefs="%%~dpi\prefs.js"
echo user_pref("network.proxy.type", 1); >>%prefs%
Bitte warten ..
Mitglied: Biber
14.09.2005 um 18:27 Uhr
Wie kann ich das mir folgenden verknüpfen?
%%~dpi = soll der gefunden Ordner sein
Hm, könnten wir auch machen- ich hab den aber lieber %FoundDir% genannt, damit ich ihn wiederfinde..

set prefs="%%~dpi\prefs.js"
Wenn es machbar ist, dann schreib doch hier: set prefs="%FoundDir%\prefs.js"
Wenn Du die Variable aber nur an dieser einzigen Stelle brauchst, dann kannst du auch gleich in der "DO"-Anweisung oben schreiben:
....DO Set prefs="%%~dpi\prefs.js" ...bzw. ....DO Set prefs="%%~dpj\prefs.js"

echo user_pref("network.proxy.type", 1); >>%prefs%
Bist Du sicher mit dem ">>" (Anhängen)? Steht da schon mehr drin? Oder ist nicht ein ">" (Neu anlegen) sinnvoller?
Ich würde sonst zumindest schon vorhandene "user_pref"-Zeilen rausfiltern, falls die prefs.js schon vorhanden ist.
Aber das war ja auch gar nicht Deine Frage, geht mich auch nichts an.
Liebe Grüße
Biber
Bitte warten ..
Mitglied: JK87
14.09.2005 um 20:25 Uhr
Dank, Danke, Danke funktioniert genau so wie ich mir das vorgstellt habe!

%%~dpi war nur ein Beispiel, hab es nun eh so gemacht wie du

JK

PS: Nur aus wissensdrang, wofür steht das "tes?.txt"? Darf man ja nicht ändern sonst funkts nicht.
Bitte warten ..
Mitglied: Biber
14.09.2005 um 21:02 Uhr
Freut mich, dass es klappt, JK87...
das mit den erforderlichen Wildcards in dem "FOR /R"-Befehl ist auch so eine Geschichte, bei der die Sichtweisen von M$ und mir auseinandergehen: M$ hält es für ein Feature, ich eher für einen Bug.

Fakt ist, bei dem "FOR /R"-Befehl, der wirklich SAUSCHNELL ist und den ich gerne nutze, darf man/frau keine vollständigen Dateinamen angeben. Es muss ein "*" oder ein "?" im Dateinamen enthalten sein.

Auf Deutsch: (Beispiel vom CMD-Prompt aus)
01.
for /R c:\ %i in (test.txt) do @echo %~i 
ergibt
01.
c:\test.txt
02.
c:\CA_LIC\test.txt
03.
c:\Config.Msi\test.txt
04.
c:\DB2LOG\test.txt
05.
c:\Dokumente und Einstellungen\test.txt
06.
c:\Dokumente und Einstellungen\Administrator\test.txt
07.
c:\Dokumente und Einstellungen\Administrator\Anwendungsdaten\test.txt .....
...also "findet" in jedem gottverdammten Verzeichnis eine Datei test.txt.

Ist nicht das, was ich von ihm wollte. Mit einem Buchstaben durch "?" ersetzt funktionierts,
01.
for /R c:\ %i in (te?t.txt) do @echo %~i 
da "findet" er nur die "test.txt" dort, wo sie vorhanden ist.

Okay, okay... kann natürlich sein, dass er (wenn es das Schicksal will) statt dessen eher eine "teat.txt" oder "telt.txt" findet, wenn ich nach "te?t.txt" suche.... aber mit Risiken muss man leben. Ich unterstelle mal, Du suchst ja auch nach einer Datei mit toitoitoi seltenerem Namen und setzt das "?" richtig.

Ich habe jedenfalls für dies und jenes einen Batch namens ForAllFiles.bat, den ich immer aufrufe, wenn ich irgendetwas mit ALLEN gleichnamigen Dateien auf meinen Laufwrken tun will ( z.B. für alle comctl32.ocx die Versionsnummer anzeigen oder alle Dateien "Read.me" umbenennen in "VerzeichnisnameReadme.txt oder was auch immer so anfällt. Und dieser ForAllFiles.bat besteht natürlich auch nur aus einem aufgebohrten "FOR /R" -Konstrukt... in dem ich auch nach Dateien "comctl3?.ocx" und "Read.?e" suchen muss.
Lässt sich nach dieser Erläuterung auch von jedem Newbie in zweieinhalb Minuten nachbilden.

Schönen Abend Dir
Biber
Bitte warten ..
Mitglied: JK87
15.09.2005 um 09:42 Uhr
Hab es mit "..\..\prefs.js" bis jetzt gelöst.

Aber danke für den Tipp mach es jetzt so wie du (pre?s.js), den das es diese seltene Datei nochmals gibt ist unwahrscheinlich.

Danke für alles

JK
Bitte warten ..
Mitglied: Biber
15.09.2005 um 10:05 Uhr
Moin, JK87,

wenn Dir das zu unsicher ist, nimm den normalen "DIR"-Befehl:
01.
for /f "delims=" %%i in ('dir /s /b x:\parentDir\prefs.js') do Set  prefs="%%~dpi\prefs.js"
("delims=" nur, falls Leerzeichen in den Pfadangaben sein können. )

Aber der "FOR /R " ist wirklich schneller.

LG Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Wlan-adapter such algorithmus in batch
gelöst Frage von TicoWriteBatch & Shell7 Kommentare

Hallo zusammen, Ich möchte einen Wlan-adpater such algorithmus in batch erstellen, dazu fehlt mir aber der befehl in Dos. ...

Exchange Server
Such-Index nach Neuerstellung defekt
Frage von CoverianExchange Server

Guten Morgen zusammen, wir haben hier aktuell ein Problem das mir schlaflose Nächte bereitet. Es handelt sich um einen ...

Video & Streaming

Such möglichkeit metadaten aus avi (bspw. den titel) zu entfernen (als batch file)

Frage von freeuser616Video & Streaming7 Kommentare

hallo zusammen, leider werde ich einfach nicht fündig. ich habe noch einiges an avi Dateien in meiner Sammlung, wo ...

Exchange Server

Exchange-Fehler: 550 No such recipient here

gelöst Frage von GreysonExchange Server3 Kommentare

Hallo administrator.de, habe seit heute an meinem Exchange die Fehlermeldung: #550 No such recipient here Diese Meldung erhalte ich ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 1 TagiOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 1 TagiOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 3 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 4 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
gelöst Frage von frosch2Windows Netzwerk27 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

Hosting & Housing
VMware VM mit über 1TB RAM für S4HANA
Frage von Leo-leHosting & Housing22 Kommentare

Hallo zusammen, wer hat Erfahrng und kann mir einen Tipp zum sizing von S4HANA Systemen geben? Wir möchten, zunächst ...

LAN, WAN, Wireless
WLAN und Ausmessung - Eine Glaubensfrage?
Frage von ptr2brainLAN, WAN, Wireless20 Kommentare

Liebe Experten, als Sys-Admin habe ich mir schon öfter die Frage gestellt, ob es sich beim Thema WLAN und ...

Virtualisierung
Gebrauchte Server Hardware als Virtualisierungs-"Spielwiese"?
Frage von NixVerstehenVirtualisierung19 Kommentare

Einen wunderschönen guten Morgen zusammen, ich möchte mich gerne etwas tiefer mit dem Thema Virtualisierung beschäftigen und dazu ein ...