Dateinamen auslesen und in Code einbauen
Hallo an alle, ich bin neu hier und habe eine für mich knifflige Sache.
Ich möchte per .cmd Datei ein Netzwerklaufwerk verbinden. Das funktioniert soweit:
@echo off
echo @echo off > %APPDATA%/NetLW.bat
for /f "Tokens=1,2" %%i in ('net use * \\XXserverXX\XXfreigabeXX /persistent:yes ^| find /i "Laufwerk"') do @set LASTLW=%%j >> %APPDATA%/NetLW.bat
echo del H:\NetLW.cmd /q >> %APPDATA%/NetLW.bat
echo exit >> %APPDATA%/NetLW.bat
start %APPDATA%/NetLW.bat
Zur Erklärung:
Die Datei soll bei einem User auf seinem Home-Laufwerk H: liegen und von diesem User ausgeführt werden.
Ich bereite die Datei vor, lege sie auf sein H: und er doppelklickt und fertig.
Das Programm macht bisher auch was es soll, nur hätte ich jetzt gerne, das ich anstatt die Datei zu öffnen und den Code zu ändern, sie für jeden User umbenenne in:
server-1 home user.cmd
Das Programm soll diesen Dateinamen auslesen, dabei soll "server-1" "home" und "user" an folgende stelle im Code eingefügt werden:
for /f "Tokens=1,2" %%i in ('net use * \\server-1\home\user /persistent:yes ^| find /i "Laufwerk"') do @set LASTLW=%%j >> %APPDATA%/NetLW.bat
und die Leerzeichen sollen das "\" bilden.
kann mir da jemand was fertiges basteln? ich habe keine ahnung wie ich das bewerkstelligen soll.
Vielen Dank
Gruß
Marco
Ich möchte per .cmd Datei ein Netzwerklaufwerk verbinden. Das funktioniert soweit:
@echo off
echo @echo off > %APPDATA%/NetLW.bat
for /f "Tokens=1,2" %%i in ('net use * \\XXserverXX\XXfreigabeXX /persistent:yes ^| find /i "Laufwerk"') do @set LASTLW=%%j >> %APPDATA%/NetLW.bat
echo del H:\NetLW.cmd /q >> %APPDATA%/NetLW.bat
echo exit >> %APPDATA%/NetLW.bat
start %APPDATA%/NetLW.bat
Zur Erklärung:
Die Datei soll bei einem User auf seinem Home-Laufwerk H: liegen und von diesem User ausgeführt werden.
Ich bereite die Datei vor, lege sie auf sein H: und er doppelklickt und fertig.
Das Programm macht bisher auch was es soll, nur hätte ich jetzt gerne, das ich anstatt die Datei zu öffnen und den Code zu ändern, sie für jeden User umbenenne in:
server-1 home user.cmd
Das Programm soll diesen Dateinamen auslesen, dabei soll "server-1" "home" und "user" an folgende stelle im Code eingefügt werden:
for /f "Tokens=1,2" %%i in ('net use * \\server-1\home\user /persistent:yes ^| find /i "Laufwerk"') do @set LASTLW=%%j >> %APPDATA%/NetLW.bat
und die Leerzeichen sollen das "\" bilden.
kann mir da jemand was fertiges basteln? ich habe keine ahnung wie ich das bewerkstelligen soll.
Vielen Dank
Gruß
Marco
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 339985
Url: https://administrator.de/forum/dateinamen-auslesen-und-in-code-einbauen-339985.html
Ausgedruckt am: 23.12.2024 um 09:12 Uhr
10 Kommentare
Neuester Kommentar
Kein Problem:
Beispiel:
Gruß
Beispiel:
@echo off
set "name=%~n0"
set "mypath=\\%name: =\%"
echo %mypath%
\\%mypath%
Die Slashes sind doppelt, die sind doch schon in der Variablen :-Phier
set "mypath=\\%name: =\%"
Mit String-Manipulation...
http://www.dostips.com/DtTipsStringManipulation.php
Wie du siehst war deine Wahl des Leerzeichens als Delimiter eine dämliche !:-P
http://www.dostips.com/DtTipsStringManipulation.php
Wie du siehst war deine Wahl des Leerzeichens als Delimiter eine dämliche !:-P
Der Mensch ist lernfähig, wenn er denn will.