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

Suche einer Bestimmten Datei in einem Laufwerk - Ausgabe des obersten Verzeichnisses

Frage Entwicklung Batch & Shell

Mitglied: killtec

killtec (Level 3) - Jetzt verbinden

11.07.2014, aktualisiert 12:55 Uhr, 1662 Aufrufe, 12 Kommentare

Hallo zusammen,
ich möchte ich einem Laufwerk nach einem bestimmten Dateityp suchen. Die Suche soll mir jedoch nur den obersten Ordner anzeigen, wo sich die Datei befindet.

Bsp.:
D:\
- Verz1
- Verz 1.1
- Verz 1.1.1
- Verz2
- Verz 3
- Verz 3.1

Die Dateien befinden Sich Bsp in Verz 1.1, Verz 1.1.1 und 3.1 Die Suche soll mir dann das oberste Verzeichnis ausgeben. Sprich due Ausgabe soll dann ergeben:
D:\Verz1.1
D:\Verz3.1

Das ganze soll auf einem Win7 x64 funktionieren. Kann ich hier was mit der powershell realisieren? Oder geht das mit einem einfachen "dir" in der cmd?

Danke.

Gruß
Mitglied: Gersen
11.07.2014 um 10:32 Uhr
Hallo,

so etwa (am Beispiel von TXT):

01.
for /f "tokens=1,2 delims=\" %a in ('dir /B /S *.txt') do echo %a\%b
Gruß,
Gersen
Bitte warten ..
Mitglied: killtec
11.07.2014, aktualisiert um 10:46 Uhr
Hi Gersen,
funktioniert leider nicht.
01.
"a\b" kann syntaktisch an dieser Stelle nicht verarbeitet werden.

Habe deinen Code einfach in eine Batch gepackt und im Verzeichnis ausgeführt.

Gruß
Bitte warten ..
Mitglied: Gersen
11.07.2014 um 10:50 Uhr
Hi,

von der Kommandozeile schon... Wenn Du es innerhalb einer Batch-Datei aufrufen willst:

01.
for /f "tokens=1,2 delims=\" %%a in ('dir /B /S *.txt') do echo %%a\%%b
Gruß,
Gersen
Bitte warten ..
Mitglied: killtec
11.07.2014 um 11:12 Uhr
Ja, so funktioniert es, gibt aber blöderweise nicht das richtige aus...
Bsp.:
01.
D:\tmp\vztest>dir /b/s *.txt 
02.
D:\tmp\vztest\vt1\Neues Textdokument.txt 
03.
D:\tmp\vztest\vt1\vz2\Neues Textdokument.txt 
04.
D:\tmp\vztest\vz2\vz21\vz22\Neues Textdokument.txt
Ausgabe mit For.:
01.
D:\tmp\vztest>for /F "tokens=1,2 delims=\" %a in ('dir /B /S *.txt') do echo %a\ 
02.
%b 
03.
 
04.
D:\tmp\vztest>echo D:\tmp 
05.
D:\tmp 
06.
 
07.
D:\tmp\vztest>echo D:\tmp 
08.
D:\tmp 
09.
 
10.
D:\tmp\vztest>echo D:\tmp 
11.
D:\tmp
Gedacht ist, dass die Ausgabe dann so aussähe:
01.
D:\tmp\vztest\vt1 
02.
D:\tmp\vztest\vz2\vz21\
Gruß
Bitte warten ..
Mitglied: colinardo
11.07.2014, aktualisiert um 13:03 Uhr
Moin,
probiers mal mit folgendem Powershell-Script:
01.
$pfad = 'D:\Test' 
02.
$filename = 'test.txt' 
03.
$script:dirs = @() 
04.
function recurseFunc($folder){ 
05.
    if ((Test-Path "$folder\$filename")){ 
06.
        $script:dirs +=$folder 
07.
    }else{ 
08.
        $subfolders = dir $folder | ?{$_.PSIsContainer} 
09.
        $subfolders | %{recurseFunc $_.FullName} 
10.
11.
12.
recurseFunc $pfad 
13.
$script:dirs
Grüße Uwe

p.s. schieb den Beitrag besser in die Kategorie Entwicklung > Shell/Batch
Bitte warten ..
Mitglied: killtec
11.07.2014 um 12:54 Uhr
Hi Colinardo,
das funktioniert leider nicht:
01.
PS D:\tmp\vztest> .\test.ps1 
02.
Skriptfehler aufgrund eines Überlaufs der Aufruftiefe. Die Aufruftiefe hat 1001 
03.
 erreicht. Der Höchstwert lautet 1000. 
04.
    + CategoryInfo          : InvalidOperation: (1001:Int32) [], ParentContain 
05.
   sErrorRecordException 
06.
    + FullyQualifiedErrorId : CallDepthOverflow 
07.
 
08.
PS D:\tmp\vztest>
Gruß
Bitte warten ..
Mitglied: colinardo
11.07.2014, aktualisiert um 12:57 Uhr
hab ich mir schon gedacht das das kommt , Script ist nicht für ganze Festplatten und Verzeichnisse mit extremer Tiefe geeignet ...
Bitte warten ..
Mitglied: killtec
11.07.2014 um 12:59 Uhr
Hi,
nee, hab was übersehen... Habe die Variablen Pfad und Filename nicht angepasst
Habs erstmal über ein Testverzeichnis gejagt, da hats geklappt. Teste es nachehr noch auf dem Zielsystem.
Denke das es klappt
Kann ich das noch in eine Ausgabe umleiten?

Gruß
Bitte warten ..
Mitglied: colinardo
11.07.2014, aktualisiert um 13:04 Uhr
Zitat von killtec:
Kann ich das noch in eine Ausgabe umleiten?
yip, wenn du es in ein File umleiten willst, schreib am Ende folgendes rein.
$script:dirs | set-content 'C:\out.txt'
Bitte warten ..
Mitglied: killtec
11.07.2014 um 13:07 Uhr
Danke dir
Teste das nachher und gebe eine Rückmeldung dazu.

Gruß
Bitte warten ..
Mitglied: Gersen
11.07.2014, aktualisiert um 20:36 Uhr
Gut - dann habe ich wohl die Aufgabe falsch verstanden...
Bitte warten ..
Mitglied: iTesla
12.07.2014 um 19:27 Uhr
.. ich verwende Everything Search Engine .. da es eine wirkliche rasant schnelle Suche ist ..
http://www.voidtools.com/
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch zum suchen bestimmter Dateien
gelöst Frage von FurycanBatch & Shell2 Kommentare

Hallo zusammen, ich hoffe man kann mir hier helfen. Ich Suche ein Script das mir folgendes macht: In einem ...

Windows 8
Bestimmte Dateien suchen und unter Beibehaltung der Ordnerstuktur
gelöst Frage von oliverfberlinWindows 84 Kommentare

Guten Tag, ich habe eine Festplatte (als Übergangslösung) auf denen ich Fotos gespeichert habe. Eigentlich sollten da auch nur ...

Windows Tools
Verzeichnisse synchronisieren unter bestimmten Umständen
Frage von jojo0411Windows Tools3 Kommentare

Hallo Leute, Ich habe eine Anforderung die man wahrscheinlich mit Robocopy lösen könnte wobei ich jedoch ein Programm (kann ...

Suse
Mehrere Verzeichnisse bei Suche ausschliessen
gelöst Frage von JedujaSuse3 Kommentare

Ich möchte mit einer Suche alle Dateien (nicht Verzeichnisse) ab einer bestimmten Grösse nach Grösse sortiert ausgeben lassen und ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 4 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 8 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 8 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 12 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...