(batch/cmd) zugirffsrechte, verzeichnissprung (cd), (compiled batch)
moin,
weiterführung von:
https://www.administrator.de/%28batch%29%28exe%29_compiled_batch_von_cd_ ...
(closed)
nun, das problem ist noch nicht gelöst.. leider
also ich habe eine zur verschlüsselung complierte batch (exe) die von cd ausgeführt werden soll aber nicht möglich ist, da die exe nur die batch in die %temp% schreibt und ausführt bzw gar nicht von cd läuft also erst auf die fesplatte kopiert wird.
nun muss sie zurück auf die cd zugreifen...
erster versuch (siehe link einführung) per verzeichnisweitergabe in %1 und shift
problem: die exe gibt das %1 nicht weiter -.-
ok schreiben in datei
(autostart.bat auf cd - echo %~dp0 > %temp%\cdpfad; copy bat.exe %temp%)
und wieder einlesen dann habe ich den ort der cd in einer variable namens cdpfad
(ausgeführte bat.exe im %temp% - set cdpfad=<cdpfad)
so jetzt versuche ich cd %cdpfad%)
und hier das problem: auf meinem computer (vllt auch auf anderen) is ein cd D:\ oder cd H:\ nicht möglich
aus meiner console: ( mein prompt ist $P$_$G)
EDIT:
kann mir jemand bitte erklären was das bedeutet??
nun hätte ich gerne gewusst wie ich das verzeichnis wechsle und diese sperre umgehe... ?
(edit) bzw wie ich das hier löse.. ich blick nimmer durch...
PS: oder ähnlich funktioneirt leider nicht
gruß, Ph
weiterführung von:
https://www.administrator.de/%28batch%29%28exe%29_compiled_batch_von_cd_ ...
(closed)
nun, das problem ist noch nicht gelöst.. leider
also ich habe eine zur verschlüsselung complierte batch (exe) die von cd ausgeführt werden soll aber nicht möglich ist, da die exe nur die batch in die %temp% schreibt und ausführt bzw gar nicht von cd läuft also erst auf die fesplatte kopiert wird.
nun muss sie zurück auf die cd zugreifen...
erster versuch (siehe link einführung) per verzeichnisweitergabe in %1 und shift
problem: die exe gibt das %1 nicht weiter -.-
ok schreiben in datei
(autostart.bat auf cd - echo %~dp0 > %temp%\cdpfad; copy bat.exe %temp%)
und wieder einlesen dann habe ich den ort der cd in einer variable namens cdpfad
(ausgeführte bat.exe im %temp% - set cdpfad=<cdpfad)
so jetzt versuche ich cd %cdpfad%)
und hier das problem: auf meinem computer (vllt auch auf anderen) is ein cd D:\ oder cd H:\ nicht möglich
aus meiner console: ( mein prompt ist $P$_$G)
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\\
>cd H:
H:\\
C:\\
>
H:\\
>C:\\
Der Befehl "C:\" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
H:\\
>P:
P:\\
>%temp%
Der Befehl "C:\DOKUME~1\Justus\LOKALE~1\Temp" ist entweder falsch geschrieben od
er
konnte nicht gefunden werden.
P:\\
>cd %temp%
P:\\
>c:
C:\DOKUME~1\Justus\LOKALE~1\Temp
>
nun hätte ich gerne gewusst wie ich das verzeichnis wechsle und diese sperre umgehe... ?
(edit) bzw wie ich das hier löse.. ich blick nimmer durch...
PS:
set 1=<cdpfad
shift
gruß, Ph
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 50023
Url: https://administrator.de/contentid/50023
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Phlegma!
Ich erhalte nach Eingabe von "cd /?" ua folgende Information:
- wie ist das bei Dir?
Ein
wird daher funktionieren. Falls Du zum derzeitigen Verzeichnis zurückkehren willst, wäre vielleicht
vorteilhafter.
Grüße
bastla
Ich erhalte nach Eingabe von "cd /?" ua folgende Information:
Verwenden Sie die /D-Option, um zusätzlich zum Wechseln
des Verzeichnisses auch das aktuelle Laufwerk zu wechseln.
Ein
cd /d "%Temp%"
pushd "%Temp%"
...
...
::und zurück
popd
Grüße
bastla
das sollte auch mit der EXE-Version funktionieren. Meine Exe-Version enthält sogar mehrere *.cmd. Ich benutze die "bat2exe!" von CAD-KAS zum Erstellen der EXE. Alle EXE-Programme funktionieren jedenfalls bei mir einwandfrei auch von CD.
@echo off && setlocal
set startpfad=%~dp0 (findet automatisch immer den Startpfad einer Anwendung)
set startLW=%~d0\ (findet automatisch immer das Start-LW einer Anwendung)
set pfadohneLW=%~p0 (ist klar oder?)
echo BEGINN - Login-Daten %date% %time% > "%startpfad%NeroClean_Master_log.txt"
call "%startpfad%Deine Anwendung .cmd"
mit der Variable %startpfad% wird deine Anwendung die Du aufrufen willst IMMER gefunden.
Musst Du zwischendurch mal wechseln schreibst Du
pushd "LW:\Pfad"
..hier was passieren soll
..auch von hier aus im Pfad veränderte Zugriffe
popd (wieder zurück auf den Pfad von pushd)
und mit
call "%startpfad%nächste Anwendung .cmd"
findest Du wieder zurück auf die CD und/oder die nächste Anwendung
gruß
onegasee59
@echo off && setlocal
set startpfad=%~dp0 (findet automatisch immer den Startpfad einer Anwendung)
set startLW=%~d0\ (findet automatisch immer das Start-LW einer Anwendung)
set pfadohneLW=%~p0 (ist klar oder?)
echo BEGINN - Login-Daten %date% %time% > "%startpfad%NeroClean_Master_log.txt"
call "%startpfad%Deine Anwendung .cmd"
mit der Variable %startpfad% wird deine Anwendung die Du aufrufen willst IMMER gefunden.
Musst Du zwischendurch mal wechseln schreibst Du
pushd "LW:\Pfad"
..hier was passieren soll
..auch von hier aus im Pfad veränderte Zugriffe
popd (wieder zurück auf den Pfad von pushd)
und mit
call "%startpfad%nächste Anwendung .cmd"
findest Du wieder zurück auf die CD und/oder die nächste Anwendung
gruß
onegasee59