BATCH - IP auslesen und in Variable speichern

  • #1
T

Tobi86

Guest
Hallo liebe Leute,

folgendes Problem besteht:

Ich will mittels IPconfig meine IP auslesen, diese in eine Textdatei speichern, den Inhalt dieser wieder in eine Variable speichern um so letzten endes ein Netzlaufwerk zu verknüpfen. Klingt komisch .. ist aber so ;)

Mein Code siet folgendermaßen aus:
Code:
@echo off
echo set /a s=%%s%%+1 > ip.bat
echo set ip%%s%%=%%1 >> ip.bat
echo Deine IP Adressen sind:
echo.
ipconfig/all | findstr IP-Ad > ip.txt
set s=0
for /f tokens=14* %%i in (ip.txt) do call ip %%i%%j
del ip.txt
del ip.bat

echo %ip2%
echo.
pause

echo %ip2% >> iptest.txt

for /F %%i in (iptest.txt) do set VAR2=%%i & GOTO VAR2
:VAR2
echo %VAR2%

net use f: /delete
net use f: \\%VAR%\Local_F

pause

Allerdings setzt er mir hinter die IP in der TXT datei 3 Leerzeichen ;( Und ich hab keine Schimmer wie ich diese weg bekomm. Ich hoffe Ihr könnt mir helfen.

Vielen Dank und Mfg Tobi ;)
 
  • #2
Ähh, ist mir viel zu umständlich - du verbindest ein Netzlauf auf den lokalen Rechner, warum?
Mit dem Befehl subst ginge das viel einfacher....

Gruss
twoday
 
  • #3
Hallo.
Ich weiss dasses umständlich ist und so ;)
Kann auch gut sein, dass es Befehle gibt die geeigneter sind und warum ich was mach iss atm Nebensache ;)

Eigentlich will ich einfach nur wissen, warum der mir 3 Leerzeichen dran macht, und wie ich die weg bekomm.
 
  • #4
Nehmen wir mal an...  :)

Unter Umständen lässt sich das Problem beseitigen. Allerdings wohl nur auf einem modernen Betriebssystem.
Wie wäre es hiermit?

Code:
net use f: /d /y
net use f: \\%Computername%\Local_F

Dazu noch so viele Echos ON OFF . wie du willst.
Wenn es dir nur um die Simulation eines Netzzugriffs auf den eigenen Rechner geht, dann sollte der Zweizeiler auf W2k, XP, W2k3 funktionieren.

Wenn du mit deiner Batch arbeiten musst, dann würde ich die an zwei Stellen ändern:
   net use f: /delete würde ich in net use f: /delete /y ändern und
   aus net use f: \\%VAR%\Local_F würde ich net use f: \\%VAR[size=12pt]2[/size]%\Local_F machen. (Ich hab nicht begriffen, wo plötzlich %VAR% herkommt) :) Die Änderungen lösen aber nicht dein Problem.

Um noch auf deine eigentliche Frage zu antworten: keinen blassen Schimmer! Ich weiß nicht, wo der die Leerzeichen herholt. :)

Aber ich habe einen Beitrag gefunden, der heißt Batchdatei: Leerzeichen in File schreiben/Zeilenumbruch verhindern Findest du hier:
 
  • #5
Ich habs endlich ;)
wusste das mit dem %Computername% nicht .. ziemlich einfach dafür, dass ich mich damit so rumquäl.
das mit dem VAR warn schreibfehler von mir ;)

naja auf jeden fall mal vielen vielen dank ^^
 
  • #6
Es gibt sogar eine ich funktioniere überall-Variante *vordenkopfschlag*

%Computername% gegen 127.0.0.1 austauschen
 
  • #7
Ne passt schon.. soll nur an diesem spezifischen PC geschehen.

Das einzige Problem was ich noch hab, iss bei der Freigabe die Benutzerberechtigung so einzustellen, dass nur der aktuelle User Vollzugriff hat ... und das ganze via BATCH ...

also nix mit CACLS weil das nur die Sicherheitseinstellungen verändert.

klingt allesn bisschen komisch... ist aber so ;)
 
  • #8
das klingt nicht nur komisch... :)

Freigabeberechtigungen via Batchdatei... No way! Du legst die Freigabe an und stellst gleichzeitig die Berechtigungen für die Benutzergruppe deiner Wahl auf Vollzugriff, schmeißt die Überzähligen raus und lässt es dabei.

Die Benutzergruppe deiner Wahl könnte Hauptbenutzer oder Benutzer sein. Oder auch beide zusammen.

Durch das Trennen und neu verbinden werden die Berechtigungen nicht zurückgesetzt.
 
  • #9
Hallo, wenn Du z.B. echo hallo >> ip.txt schreibst, dann wird das Leerzeichen zwischen hallo und >> mit in die Datei ip.txt geschrieben. Versuche mal hallo>> ip.txt
 
Thema:

BATCH - IP auslesen und in Variable speichern

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben