toldik
Goto Top

Absoluten Pfad für Programm ermitteln um Seiteneffekte zu vermeiden

Hallo Leute, geht das eleganter?

Geht das eventuell mit
call set %????% 
eleganter? Beim Aufruf eines Scripts kann beispielsweise über %0 der Aufruf der Routine ermittelt, und mittels verschiedener Steuerzeichen manipuliert werden. Ich würde nun gern Variablen mit diesen Steuerzeichen manipulieren, aber ohne zunächst eine Unterroutine erstellen zu müssen.
Eine "positive" Antwort würde mir auch an vielen anderen Stellen weiterhelfen.
Grüße, Toldi

:::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
::: Script  um absoluten Pfad zu ermitteln (für =WinXP) ev. für >=WinXP)
::: Inklusive Wartefunktion mit Ausgabe im Titel 
::: Aufruf von Modify:
::: 1. Variable: Ergebnis der Berechung
::: 2. Wert: Programm dessen Absoluter Pfad innerhalb von "Path" bestimmt werden soll 
:::
::: Version 0:02
::: Toldi 08.02.2009
::: Modified 
::: Toldi 14.02.2009
::: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

@echo off & cls & setlocal enableextensions enabledelayedexpansion 
cd /d %~dp0
set /P Programm="Programmname inklusive Erweiterung ("bat, cmd, exe, com" eingeben: "  
cls

::: Pfade Programm ermitteln um Seiteneffekte zu vermeiden
call :MODIFY ppathping  pathping.exe
call :MODIFY ppfad  %Programm%

echo.Der absolute Pfad zu %Programm%: %ppfad%
call :WAIT "5" "Noch __COUNTDOWN__ Sekunden bis das Programm endet."  
exit /b

:WAIT -- # Sekunden mit Format
setlocal 
set "fmt=%~2"   
if not defined fmt set "fmt=Bitte noch __COUNTDOWN__ Sekunden warten..."   
for /l %%a in (%~1,-1,1) do (
call set "fmt2=%%fmt:__COUNTDOWN__=%%a%%"   
call title=!fmt2!
%ppathping% -q 1 -n -p 999 -w 1 127.0.0.1 >nul)
title=%comSpec%
endlocal
exit /b

:MODIFY -- full path
set "%~1=%~dp$PATH:2%2"  
exit /b

Content-ID: 108371

Url: https://administrator.de/contentid/108371

Ausgedruckt am: 13.11.2024 um 00:11 Uhr