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

Batch. Nach einer Datei auf dem ganzen PC suchen (also alle Laufwerke durchsuchen) und dann deren Pfad in eine Variable schreiben v.2

Frage Entwicklung Batch & Shell

Mitglied: Motorcross

Motorcross (Level 1) - Jetzt verbinden

20.02.2010, aktualisiert 18.10.2012, 8993 Aufrufe, 5 Kommentare

Hallo Administratoren,

vor einigen Tagen habe ich die Frage:"Batch. Nach einer Datei auf dem ganzen PC suchen (also alle Laufwerke durchsuchen) und dann deren Pfad in eine Variable schreiben " gepostet.
Ich habe noch eine Frage.
Wie kann man das Script programmieren, dass es alle Laufwerke durchsucht außer einem Einzigen.
Dieses steht in einer Variablen namens %auslassen%
Und in dieser Variablen könnze z.B "J:" stehen.
Wie kann man das umsetzen?
Gruß Motorcross
Mitglied: bastla
20.02.2010, aktualisiert 18.10.2012
Hallo Motorcross!

Wenn Du inzwischen keine andere Version als jene in Deinem vorigen Thread hast: Einfach die Zeile
IF not defined PfadGefunden FOR /F "delims=" %%i in ('dir /b /s "j:\%dieZuSuchende%" ^2^>Nul') do Set "PfadGefunden=%%~dpi"
nicht verwenden ...

Sollte Dein Batch aber anders aussehen, wäre es in Deinem Interesse, diesen auch zu posten ...

Grüße
bastla
Bitte warten ..
Mitglied: Motorcross
25.03.2010 um 18:25 Uhr
Hallo bastla,
hier mein Problemscript.
Es soll die Datei blabla.txt gesucht werden.
01.
cd /d %temp% 
02.
echo For Each D In CreateObject ("scripting.FileSystemObject").Drives:If D.DriveType=2 And D.IsReady Then:WScript.Echo D:End If:Next>GetDrives.vbs 
03.
set dieZuSuchende=blabla.txt 
04.
If not defined PfadGefunden for %%d in ('cscript //nologo %temp%\GetDrives.vbs') do ( 
05.
    for /f "delims=" %%i in ('dir /b /s "%%d\%dieZuSuchende%" ^2^>Nul') do set "PfadGefunden=%%~dpi" 
06.
07.
Echo Datei "%dieZuSuchende%" im Pfad "%PfadGefunden%" gefunden. 
08.
 
09.
pause
Ich weiß aber nicht wo der Fehler liegt!
Gruß Motorcross
Bitte warten ..
Mitglied: Biber
25.03.2010 um 18:36 Uhr
Moin Motorcross,

Ich weiß aber nicht wo der Fehler liegt!
Steht doch da - das "if not defined PfadGefunden" gehört INNERHALB der Rödele-durch alle-Laufwerke-FOR-Anweisung.

Reihenfolge / Verschachtelung der beiden FORs:
01.
REM ungetesteter Pseudocode 
02.
... 
03.
cd /d %temp% 
04.
echo For Each D In CreateObject ("scripting.FileSystemObject").Drives:If D.DriveType=2 And D.IsReady Then:WScript.Echo D:End If:Next>GetDrives.vbs 
05.
set dieZuSuchende=blabla.txt 
06.
... 
07.
for /F %%d in ('cscript //nologo %temp%\GetDrives.vbs') do ( 
08.
       If not defined PfadGefunden   (  
09.
                    for /f "delims=" %%i in ('dir /b /s "%%d\%dieZuSuchende%" ^2^>Nul') do set "PfadGefunden=%%~dpi" 
10.
11.
12.
Echo Datei "%dieZuSuchende%" im Pfad "%PfadGefunden%" gefunden. 
13.
... 
14.
 
Grüße
Biber

[Edit] bastla: Das fehlende /F der ersten FOR-Anweisung habe ich gar nicht wahrgenommen - aber jetzt im auch in der Skizze nachgetragen
Zu dem "IF defined Pfadgefunden".... ich wüsste nicht, wann und warum denn in Motorcross' Schnipsel jemals diese Prüfung ein "Jupp, is' defined" ergeben könnte.[Edit]
Bitte warten ..
Mitglied: bastla
25.03.2010 um 18:37 Uhr
Hallo Motorcross!

Sorry, war vorhin ein wenig unkonzentriert - deshalb fehlt der "for %%d"-Schleife das "/f"

So sollte es dann besser gehen:
01.
cd /d %temp% 
02.
echo For Each D In CreateObject ("scripting.FileSystemObject").Drives:If D.DriveType=2 And D.IsReady Then:WScript.Echo D:End If:Next>%temp%\GetDrives.vbs 
03.
set dieZuSuchende=blabla.txt 
04.
If not defined PfadGefunden for /f %%d in ('cscript //nologo %temp%\GetDrives.vbs') do ( 
05.
    for /f "delims=" %%i in ('dir /b /s "%%d\%dieZuSuchende%" ^2^>Nul') do set "PfadGefunden=%%~dpi" 
06.
07.
if not defined PfadGefunden Echo Datei "%dieZuSuchende%" nicht gefunden & goto :eof 
08.
Echo Datei "%dieZuSuchende%" im Pfad "%PfadGefunden%" gefunden. 
09.
 
10.
pause
Grüße
bastla

[Edit]
@Biber: Da es sich bei diesem Schnipsel um einen Auszug aus einem insgesamt etwas umfangreicheren Oevre handelt, könnte das "if not defined" tatsächlich auch vor die Schleife gehören - in der Schleife ist's aber auf jeden Fall sinnvoll ...
[/Edit]


[Edit2]
ich wüsste nicht, wann und warum denn in Motorcross' Schnipsel jemals diese Prüfung ein "Jupp, is' defined" ergeben könnte.
Ich weiß es auch nicht mehr - sollte sich durch einen anderen Thread erklären lassen.
Andererseits stört's im Fall des Falles aber eigentlich nur aus ästhetischen Gründen ...
[/Edit2]
Bitte warten ..
Mitglied: Motorcross
25.03.2010 um 20:00 Uhr
Vielen Dank biber und bastla!
Gruß Motorcross
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von 126594 zum Thema Batch & Shell ...

Batch & Shell
gelöst ZIP-Archive nach Dateien durchsuchen und Pfade ausgeben (33)

Frage von evinben zum Thema Batch & Shell ...

Batch & Shell
gelöst Variable per Batch auslesen und in Registry schreiben (3)

Frage von Zendara zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (19)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

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