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, 4480 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Netzwerkmanagement
gelöst Auf Debian 8.6 mit Putty zugreifen über SSH, Zugriff verweigert seit der neuen VM (4)

Frage von M.Marz zum Thema Netzwerkmanagement ...

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

Frage von Winuser zum Thema Windows Server ...

Visual Studio
Mit Visual Basic auf Shopware 5 API zugreifen (9)

Frage von SmogKiel zum Thema Visual Studio ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...