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, 9047 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
Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(6)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Sicherheit

Eventuell neue Lücke in Intels ME

Information von sabines zum Thema Sicherheit ...

Viren und Trojaner

FinFisher: Internetprovider schieben Spitzelopfern Malware unter

(1)

Information von kaiand1 zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows 7
SSD - Win7 Lags (15)

Frage von ph5555 zum Thema Windows 7 ...