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, 8755 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Netzwerkmanagement
gelöst Batch Datei auf anderem PC öffnen (35)

Frage von Flodsche zum Thema Netzwerkmanagement ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...