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, 4503 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
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (18)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Vmware
ESXi massive Pingabrisse, VMs jedoch konstant online (22)

Frage von Philzip zum Thema Vmware ...

Windows Netzwerk
gelöst Auf Netzlaufwerk als Standardbenutzer zugreifen (4)

Frage von mike7050 zum Thema Windows Netzwerk ...

Windows Server
gelöst Auf Domäne in Hyper-v von anderer Domäne zugreifen (3)

Frage von Winuser zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (18)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...