Per Befehlszeilenparameter auf Konstante zugreifen
Hallo liebe Gemeinde,
ich komme nicht weiter... bitte werft Hirn vom Himmel. Das meiste aus diesem Batch entstammte, zumindest als Anregung aus diesem Forum. An dieser stelle ein *DICKES* Danke an den Nager aus Bremen, der hier *GRATIS* die Briefkastenoma spielt. Und das in bemerkenswerter Qualität. Nochmal dickes *Danke*!!!!
Nun zum Problem:
Im Batch wird nicht wenn %1=K ist, dieses "K" als Konstante %K% erkannt, auch nicht mit doppelt % ' " & (alles probiert). Das währe aber schrecklich schön, wenn %1 als "normaler" Buckstabe erkannt würde und folglich %K% auch den Inhalt der Konstanten "K" ausgeben würde. Aber wie - bitte lasst mich nicht dumm sterben....
Hier das Batch:
[Edit Biber] Codetags nachgetragen. [/Edit]
ich komme nicht weiter... bitte werft Hirn vom Himmel. Das meiste aus diesem Batch entstammte, zumindest als Anregung aus diesem Forum. An dieser stelle ein *DICKES* Danke an den Nager aus Bremen, der hier *GRATIS* die Briefkastenoma spielt. Und das in bemerkenswerter Qualität. Nochmal dickes *Danke*!!!!
Nun zum Problem:
Im Batch wird nicht wenn %1=K ist, dieses "K" als Konstante %K% erkannt, auch nicht mit doppelt % ' " & (alles probiert). Das währe aber schrecklich schön, wenn %1 als "normaler" Buckstabe erkannt würde und folglich %K% auch den Inhalt der Konstanten "K" ausgeben würde. Aber wie - bitte lasst mich nicht dumm sterben....
Hier das Batch:
@echo off
REM BEWERTUNG DES FREIEN PLATZES AUF Remote LAUFWERKEN
REM fuer engl. Umgebungebungen
REM Fuer spaetere Bearbeitung:
SET TRMP=c:\Cntrl\Auslastung_REMOTE_DRIVES.txt
if exist %TRMP% del %TRMP%
REM (QUELLE) VERZEICHNIS, welches kopiert werden soll (wg. Größe wichtig)
set verzeichnis="W:\vm"
REM (ZIEL) Ordner [Freigabename]
SET BACKUPDIR=_B_C_U_P_
REM (Anmeldeinformation) ...der 3.Teil bei net use...
SET K=\\10.17.125.168\%BACKUPDIR% /user:Administrator@LULU.Local h4c3rz
SET L=\\192.168.10.2\%BACKUPDIR% /user:Biber hilfbitte
REM Menge der Laufwerksbuchstaben die geprüft werden sollten
SET LANdrives=K,L
REM Checken der Laufwerke...Schleife...
:loop_REMOTE_drives
for %%i in (%LANdrives%) do (call:TSTRVOL %%i)
:TSTRVOL %1
IF EXIST %1: net use %1: /delete
REM ***************************************************************************************************************
REM UND HIER HAUT ES NICHT HIN. HIER wird nur ein Buchstabe erscheinen aber nicht der Inhalt von z.b. %K%
IF NOT EXIST %1: net use %1: % %%1 %
REM ***************************************************************************************************************
rem ab hier nur noch gedöns...
SET volume="%1:"
if %1!==! goto :eof
FOR /F "tokens=3 delims= " %%i in ('dir /s %verzeichnis%^|find "File(s)"') do set size=%%i
FOR /F "tokens=3 delims= " %%i in ('dir %volume%^|find "Dir(s)"') do set vsize=%%i
set gb=%size:~-0,-12%
set vgb=%vsize:~-0,-12%
set /a q=%vgb%-%gb%
set /a z=%q%/%gb%
IF %z% LEQ 9 Set ZZ=0%z%
IF %z% GEQ 10 SET ZZ=%z%
@echo Reserve: %zz% auf Laufwerk %1:
@echo %zz%#%1 >>%TIMP%
sort %TIMP% /R /O %TIMP%
type %TIMP%
goto:eof
[Edit Biber] Codetags nachgetragen. [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 127368
Url: https://administrator.de/forum/per-befehlszeilenparameter-auf-konstante-zugreifen-127368.html
Ausgedruckt am: 23.12.2024 um 18:12 Uhr
2 Kommentare
Neuester Kommentar
Hallo Terror4tec,
grob überflogen: Kann es sein dass du zwar auf der einen Seite schon den Buchstaben K als Laufwerksbuchstaben, als auch im Anschluss den Inhalt der Variablen %K% verarbeiten willst?
Mal den betreffendenTeil für die Echo-Ausgabe skizziert:
Hoffe das hilft schon mal zu erkennen, wie du das handlen müsstest.
Grüße
rubberman
grob überflogen: Kann es sein dass du zwar auf der einen Seite schon den Buchstaben K als Laufwerksbuchstaben, als auch im Anschluss den Inhalt der Variablen %K% verarbeiten willst?
Mal den betreffendenTeil für die Echo-Ausgabe skizziert:
@echo off &setlocal
REM (Anmeldeinformation) ...der 3.Teil bei net use...
SET K=\\10.17.125.168\%BACKUPDIR% /user:Administrator@LULU.Local h4c3rz
SET L=\\192.168.10.2\%BACKUPDIR% /user:Biber hilfbitte
REM Menge der Laufwerksbuchstaben die geprüft werden sollten
SET LANdrives=K L
REM Checken der Laufwerke...Schleife...
:loop_REMOTE_drives
for %%i in (%LANdrives%) do call :TSTRVOL %%i
pause
goto :eof
:TSTRVOL
echo %1
call echo %%%1%%
goto:eof
Hoffe das hilft schon mal zu erkennen, wie du das handlen müsstest.
Grüße
rubberman