Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Per Befehlszeilenparameter auf Konstante zugreifen

Frage Entwicklung Batch & Shell

Mitglied: Terror4tec

Terror4tec (Level 1) - Jetzt verbinden

18.10.2009, aktualisiert 19.10.2009, 4495 Aufrufe, 2 Kommentare

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:

01.
@echo off 
02.
REM BEWERTUNG DES FREIEN PLATZES AUF Remote LAUFWERKEN 
03.
REM fuer engl. Umgebungebungen 
04.
 
05.
REM Fuer spaetere Bearbeitung: 
06.
SET TRMP=c:\Cntrl\Auslastung_REMOTE_DRIVES.txt 
07.
if exist %TRMP% del %TRMP% 
08.
 
09.
REM (QUELLE) VERZEICHNIS, welches kopiert werden soll (wg. Größe wichtig) 
10.
set verzeichnis="W:\vm" 
11.
 
12.
REM (ZIEL) Ordner [Freigabename] 
13.
SET BACKUPDIR=_B_C_U_P_ 
14.
 
15.
REM (Anmeldeinformation) ...der 3.Teil bei net use... 
16.
SET K=\\10.17.125.168\%BACKUPDIR% /user:Administrator@LULU.Local h4c3rz 
17.
SET L=\\192.168.10.2\%BACKUPDIR% /user:Biber hilfbitte 
18.
 
19.
REM Menge der Laufwerksbuchstaben die geprüft werden sollten 
20.
SET LANdrives=K,L 
21.
 
22.
REM Checken der Laufwerke...Schleife... 
23.
 
24.
:loop_REMOTE_drives 
25.
    for %%i in (%LANdrives%) do (call:TSTRVOL %%i) 
26.
 
27.
:TSTRVOL %1 
28.
IF EXIST %1: net use %1: /delete 
29.
REM *************************************************************************************************************** 
30.
REM UND HIER HAUT ES NICHT HIN. HIER wird nur ein Buchstabe erscheinen aber nicht der Inhalt von z.b. %K%  
31.
IF NOT EXIST %1: net use %1: % %%1 % 
32.
REM *************************************************************************************************************** 
33.
 
34.
rem ab hier nur noch gedöns... 
35.
SET volume="%1:" 
36.
if %1!==! goto :eof 
37.
 
38.
FOR /F "tokens=3 delims= " %%i in ('dir /s %verzeichnis%^|find "File(s)"') do set size=%%i 
39.
FOR /F "tokens=3 delims= " %%i in ('dir %volume%^|find "Dir(s)"') do set vsize=%%i 
40.
set gb=%size:~-0,-12% 
41.
set vgb=%vsize:~-0,-12% 
42.
 
43.
set /a q=%vgb%-%gb% 
44.
set /a z=%q%/%gb% 
45.
 
46.
IF %z% LEQ 9 Set ZZ=0%z% 
47.
IF %z% GEQ 10 SET ZZ=%z% 
48.
 
49.
@echo Reserve: %zz% auf Laufwerk %1: 
50.
@echo %zz%#%1 >>%TIMP% 
51.
sort %TIMP% /R /O %TIMP% 
52.
type %TIMP% 
53.
goto:eof

[Edit Biber] Codetags nachgetragen. [/Edit]
Mitglied: rubberman
18.10.2009 um 15:39 Uhr
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:
01.
@echo off &setlocal 
02.
 
03.
REM (Anmeldeinformation) ...der 3.Teil bei net use... 
04.
SET K=\\10.17.125.168\%BACKUPDIR% /user:Administrator@LULU.Local h4c3rz 
05.
SET L=\\192.168.10.2\%BACKUPDIR% /user:Biber hilfbitte 
06.
 
07.
REM Menge der Laufwerksbuchstaben die geprüft werden sollten 
08.
SET LANdrives=K L 
09.
 
10.
REM Checken der Laufwerke...Schleife... 
11.
 
12.
:loop_REMOTE_drives 
13.
for %%i in (%LANdrives%) do call :TSTRVOL %%i 
14.
pause 
15.
goto :eof 
16.
 
17.
:TSTRVOL 
18.
echo %1 
19.
call echo %%%1%% 
20.
goto:eof
Hoffe das hilft schon mal zu erkennen, wie du das handlen müsstest.

Grüße
rubberman
Bitte warten ..
Mitglied: Terror4tec
18.10.2009 um 15:51 Uhr
Danke Rubberman,
Haut genau so hin... D*A*N*K*E !!!!!!!!
Das Geheimnis war der call... und die 3(!) vor und 2 (!) % danach...
Ich bin sooo glücklich..
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Update
gelöst MS: Update-Server-Adressen OHNE Wildcards (17)

Frage von mrserious73 zum Thema Windows Update ...

Viren und Trojaner
Ransomware .nm4 (14)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...