Wenn Sie es in Batch tun möchten, können Sie stattdessen diese Syntax verwenden. Dies gibt Ihnen nur den übergeordneten und den übergeordneten Ordner. Wenn Sie den vollständigen Pfad zu diesen benötigen, fügen Sie die Modifikatoren der Variablen FOR hinzu.
@echo off
For /f "skip=1 delims=" %%G IN ('WMIC service WHERE "name LIKE 'wdpostman'" GET PathName ^|findstr /r /V "^$"') DO (
for %%H in ("%%~dpG\.") do set "parent=%%~nxH"
for %%H in ("%%~dpG\..") do set "gparent=%%~nxH"
)
echo parent=%parent%
echo gparent=%gparent%
Ich wollte nur diesen zusätzlichen Code hinzufügen, um Ihnen zu zeigen, wie Sie die Ordnerpfade in Variablen aufteilen können.
@echo off
setlocal enabledelayedexpansion
For /f "skip=1 delims=" %%G IN ('WMIC service WHERE "name LIKE 'wdpostman'" GET PathName ^|findstr /r /V "^$"') DO (
set "_fpath=%%~dpG"
)
set "_fpath=%_fpath:~0,-1%"
set i=1
set "_spath!i!=%_fpath:\=" & set /A i+=1 & set "_spath!i!=%"
echo There %i% Folder(s^)
set _spath
Pause
Ich würde PowerShell lieber als Batch (eine Zeile) empfehlen: 'gwmi Win32_Service -Filter" Name LIKE 'tomcat%' "| % {$ _. Pfadname} ' –