Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

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, 9095 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 Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

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

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (9)

Frage von jensgebken zum Thema Windows Server ...