Batch: Halb unbekannten Ordnernamen öffnen?
Hi, ich möchte eine Batch Datei schreiben, die einen Ordner öffnet der mit WD_Discovery_ beginnt danach kommen etliche zufällige Zahlen. In jedem Ordner sind die gleichen Dateien enthalten. Es kann sein, dass mehrere dieser Ordner erstellt wurden. Es muss halt nur einer von diesen Ordnern geöffnet werden. Ist sowas möglich?
EDIT: Der Ordner befindet sich unter: C:\Users\"USER"\AppData\Local\Temp\WDTEMP
LG
womit soll der ordner geöffnet werden?
Mit einer Batch Datei mit dem Befehl
start "C:\Users\get\AppData\Local\Temp\WDTEMP"
und dann kommt
\WD_Discovery_XXXXXXXXXXXXXXXXXX.exe-sfx" (X gleich random Zahlenfolge).
3 Antworten
viele Wege führen nach Rom:
for /f "delims=" %%a in ('dir /s /ad /b "%temp%\WD_Discovery_*" ') do (
start "" "%%a"
rem nach dem erstbesten ergebnis abbrechen
goto break
)
:break
pause
....
rem zum erstbesten hinspringen
pushd "%temp%\WDTEMP\WD_Discovery_*"
rem aktuellen Ordner öffnen
start "" "%cd%"
rem mit der batch wieder zurück zum ursprungsordner
popd
pause
Das Skript schaut, ob es einen Ordner "WD_Discovery_" gibt und wenn ja, öffnet es den ersten.
@echo off
setlocal enableextensions
for /f "delims=" %%a in ('dir /ad /b ^| findstr /i "^WD_Discovery_"') do (
start "" "%%a"
goto end
)
:end
Einfacher wäre das in PowerShell. Sowas als Batch zu schreiben, ist pure Qual :D
$folders = Get-ChildItem -Directory | Where-Object { $_.Name -like "WD_Discovery_*" }
if ($folders.Count -gt 0) {
Start-Process $folders[0].FullName
}
Im einfachsten Fall sollte es ein "cd WD_Discovery_*" tun...