Ordner mit Teilnamen finden und kompletten Pfad ausgeben
Hallo Kollegen,
ich habe mal wieder ein kleines Batch Problem.
Ich suche auf mehreren Geräten nach Benutzerordnern z.B. "XY*" nach meiner Ausgabe sagt er mit, dass er den Ordner "XY*" gefunden hat, allerdings bräuchte ich den kompletten Namen (XYZ und XYD) des Ordners. Wie müsste ich da mein Skript abändern?
Auf dem Client sind z.B. folgende User:
XYZ
XYD
FZD
DZO
vielen dank schon mal für eure Hilfe am Freitag.
ich habe mal wieder ein kleines Batch Problem.
Ich suche auf mehreren Geräten nach Benutzerordnern z.B. "XY*" nach meiner Ausgabe sagt er mit, dass er den Ordner "XY*" gefunden hat, allerdings bräuchte ich den kompletten Namen (XYZ und XYD) des Ordners. Wie müsste ich da mein Skript abändern?
Auf dem Client sind z.B. folgende User:
XYZ
XYD
FZD
DZO
@echo off &setlocal
title Suchen von Benutzeprofilen auf TS-Servern
set Version=Version...: 1.0
set Stand= 24.02.2015
:delete
cls
ECHO ---------------------------------------------------------------------------
ECHO Funktion..: Suchen von Benutzerprofilen auf Clients
ECHO.
ECHO Entwicklungsstand: .....: - %Stand%
ECHO %Version%
ECHO ---------------------------------------------------------------------------
set LogDir=C:\Logs
if not exist %LogDir%\. md %LogDir%
set ServerList=%LogDir%\TS_Server.txt
set LogFile=%LogDir%\TsProfilSuche.log
set ShowLog=%LogDir%\ShowTsProfile.log
set /p lck=" Bitte geben Sie die zu suchende Benutzerkennung an:"
ECHO ------------------------------------------------------------- > %ShowLog%
ECHO Suchen des Benutzerprofils auf Clients >> %ShowLog%
ECHO Benutzerprofil %lck% wird auf allen Clients gesucht >> %ShowLog%
ECHO ------------------------------------------------------------- >> %ShowLog%
ECHO %DATE% %TIME% Script-Version: %Version% Stand: %Stand% >> %ShowLog%
ECHO %DATE% %TIME% Aktion wurde gestartet von: %USERDOMAIN%\%USERNAME% >> %ShowLog%
ECHO %DATE% %TIME% Beginn Search Profile >> %ShowLog%
ECHO %DATE% %TIME% Beginn Search Profile
ECHO >> %ShowLog%
for /F %%i in (%ServerList%) do call :doSearchProfile %%i
ECHO %DATE% %TIME% Fertig mit Search Profile!
ECHO %DATE% %TIME% Fertig mit Search Profile! >> %ShowLog%
ECHO ------------------------------------------------------------- >> %ShowLog%
ECHO Suchen des Benutzerprofils auf Clients abgeschlossen >> %ShowLog%
ECHO Benutzerprofil %lck% wurde auf allen Clients gesucht >> %ShowLog%
ECHO ------------------------------------------------------------- >> %ShowLog%
type %ShowLog% >> %LogFile%
%Showlog%
set /p Anhalt=Enter zum beenden; j um eine weitere Datei zu suchen?
if /I %Anhalt%==j goto :delete
exit
goto :EOF
:doSearchProfile
REM -------------------------------------------------------------
REM Profilordner auf angegebenen Servern suchen
REM -------------------------------------------------------------
echo Das Profil %lck% wird auf dem Client %1 gesucht
if exist \\%1\C$\Users\%lck% 2>&1 echo Ja, das Profil \\%1\C:\Users\%lck% existiert! >>%ShowLog% 2>&1
if not exist \\%1\C$\Users\%lck% 2>&1 echo NEIN, das Profil \\%1\C:\Users\%lck% ist nicht vorhanden! >>NUL
goto end
:end
endlocal
vielen dank schon mal für eure Hilfe am Freitag.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 265434
Url: https://administrator.de/contentid/265434
Ausgedruckt am: 24.11.2024 um 13:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Pago159!
Eigentlich nicht verwunderlich - bei einem "
Grüße
bastla
Eigentlich nicht verwunderlich - bei einem "
dir /b Testuser
" (also mit exakter Angabe des Ordnernamens) wird natürlich der Inhalt des Ordners angezeigt, während "dir /b Testuser*
" ja nur die zum Suchmuster passenden Ordnernamen liefern kann. Wenn Du daher generell nach \\%1\C$\Users\%lck%*
suchst, solltest Du immer nur die Userordner angezeigt bekommen.Grüße
bastla