Top-Themen

Aktuelle Themen (A bis Z)

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

Variabler Pfad einer Datei?

Mitglied: Worker734

Worker734 (Level 1) - Jetzt verbinden

04.11.2005, aktualisiert 13:43 Uhr, 7075 Aufrufe, 6 Kommentare

Ich möchte den Anwender den Pfad der Datei, in diesem Fall SRenamed.log,
abfragen und dem Script übergeben.

Wie kann ich das realisieren?


@ECHO off

set "root=%SystemDrive%\"
set "datei=%root%SRenamed.log"
set "slogfile=SPing.log"
set "flogfile=FPing.log"

rem *
cls
call :show_header
rem
*

echo Computer aus SRenamed.log mit Ping auf Antwort pruefen
echo zum Programm beenden Fenster schliessen.
echo zum fortfahren . . .
echo.
pause
echo.

:: Datei auslesen
echo Datei %Datei% auslesen . . .
echo.

:: Existens von SRenamed.log pruefen
if not exist %datei% (
echo Datei %datei% nicht gefunden!
)
if not exist %datei% goto :end
For /F "tokens=2* " %%i in (%Datei%) do call :ping %%i
goto :eof


Danke und Gruß
Mitglied: ketchup
04.11.2005 um 09:48 Uhr
du könntest der Batch einen Parameter mitgeben, welcher der Dateiname (inkl. Pfad) ist.

zb: mybatch.bat c:\myfiles\rechner.txt

in mybatch kannst du dann mit %1 bis %9 auf die übergebenen Werte zugreifen.!

jürgen
Bitte warten ..
Mitglied: Biber
04.11.2005 um 10:32 Uhr
Moin Worker734,
eine (ausreichende, nicht ästhetische) Möglichkeit der interaktiven Abfrage unter dem CMD-Interpreter:
SET /P Variable=[EingabeaufforderungZeichenfolge]
siehe unter SET /?
Also z.B.
SET /P usersSLogDIR="Geben Sie ein Verzeichnis für..blubb..an, Vorgabe ist %root%: "
IF [%usersSLogDIR%]==[%root%%] set "usersSLogDIR=%root%"
..

Wenn Du es etwas zeitgemäßer haben willst, dann diese Abfrage über ein kleines *.vbs-Skript und in einem Fenster mit runden Ecken. Prinzip ist dasselbe.

HTH Biber
Bitte warten ..
Mitglied: Worker734
04.11.2005 um 11:07 Uhr
Hi Biber,

zeitgemäßer ist immer gut, hast du einen Beispiellink dafür?

Gruß
Bitte warten ..
Mitglied: Biber
04.11.2005 um 11:35 Uhr
Nö, das nicht,
aber wie man/frau eben schnell aus einem Batch heraus ein paar Zeilen *.vbs erzeugt und aufruft, hab ich in meinem Batch-Tut III (in Batch & Shell) skizziert.
Und eine InputBox bekommst Du garantiert hin. Die sind wiederum bestimmt im Bereich "VB, VBS & VBA" oder so ähnlich.
Müsste jedenfalls alles hier im Forum vorhanden sein.

Biber
Bitte warten ..
Mitglied: Worker734
04.11.2005 um 12:01 Uhr
Hi Biber,

bevor ich mich in VB oder VBA einarbeite habe ich es mit deinem anderen Lösungsweg versucht.
Nur geht es nicht so recht.

echo %userSLogDIR%
zeigt bei mir immer "ECHO OFF" an

und komm ich dann mit goto :eof wieder zurück oder muss ich eine
Sprungmarke z.B. :Dateiauslesen setzen?

Mein Ping Befehl funktioniert auch nur wenn ich ins Root wechsel,
weißt du woran das liegt?

Danke dir.

--------------------------Batchfile------------------------------------------------

@ECHO off

set "root=%SystemDrive%\"
set "datei=SRenamed.log"
set "rdatei=%root%SRenamed.log"
set "slogfile=SPing.log"
set "flogfile=FPing.log"

echo Computer aus SRenamed.log mit Ping auf Antwort pruefen
echo zum Programm beenden Fenster schliessen.
echo zum fortfahren . . .
echo.
pause
echo.

:: Datei auslesen
echo Datei %rDatei% auslesen . . .
echo.

:: Existens von SRenamed.log pruefen
if not exist %rdatei% (
echo Datei %rdatei% nicht gefunden!
set /p usersSLogDIR="Geben Sie ein Verzeichnis für %datei% an, Vorgabe ist "%root%" :"
IF [%usersSLogDIR%]==[%root%] set "usersSLogDIR=%root%"
set "datei=%usersSLogDIR%\%datei%"

echo %usersSLogDIR%
echo %datei%
pause
goto :eof
)


rem if not exist %rdatei% goto :end

For /F "tokens=2* " %%i in (%rdatei%) do call :ping %%i
goto :eof


:ping
:: Warten auf Antwort
echo ping Computer "%1" ...

:: ins Root wechseln da sonst kein ping funktioniert!!
cd\
C:
ping %1
If Errorlevel 1 (
call :pingfailed %1
goto :eof
)
Bitte warten ..
Mitglied: Biber
04.11.2005 um 13:43 Uhr
Nur geht es nicht so recht.
..funk-ti-o-niert nicht so recht *grmffff*


echo %userSLogDIR%
zeigt bei mir immer "ECHO OFF" an
Dann ist die Variable nicht definiert. Und der CMD-Interpreter mach daraus
ECHO
..was laut Hilfe die aktuelle ECHO-Einstellung anzeigt.
Undokumentierte Abhilfe: Ein "unerlaubtes Sonderzeichen" (. oder / oder..) direkt hinter ECHO
echo %userSLogDIR% ...zeigt wenigstens keinen Unsinn an.


und komm ich dann mit goto :eof wieder
zurück oder muss ich eine
Sprungmarke z.B. :Dateiauslesen setzen?

Mein Ping Befehl funktioniert auch nur wenn
ich ins Root wechsel,
weißt du woran das liegt?
Hm... eigentlich sollte Ping.exe im %path% sein und überall gefunden werden...
keine Ahnung, aber zur Not rufe es mit Pfadangabe auf, schlimmstenfalls auf \\server\freigabe bereitstellen.

--------------------------Batchfile------------------------------------------------

@ECHO off

set "root=%SystemDrive%\"
set "datei=SRenamed.log"
set "rdatei=%root%SRenamed.log"
set "slogfile=SPing.log"
set "flogfile=FPing.log"

echo Computer aus SRenamed.log mit Ping auf Antwort pruefen
echo zum Programm beenden Fenster schliessen.
echo zum fortfahren . . .
echo.
pause
echo.

:: Datei auslesen
echo Datei %rDatei% auslesen . . .
echo.

:: Existens von SRenamed.log pruefen
if not exist %rdatei% (
echo Datei %rdatei% nicht gefunden!
set /p usersSLogDIR="Geben Sie ein Verzeichnis für %datei% an, Vorgabe ist "root%" :"
IF [%usersSLogDIR%]==[%root%] set "usersSLogDIR=%root%"
Sooooooooorry, mein Fehler!!! *schämschämschäm*
> IF [%usersSLogDIR%]==[] set "usersSLogDIR=%root%"
.....

rem if not exist %rdatei% goto :end

For /F "tokens=2* " %%i in (%rdatei%) do call :ping %%i
goto :eof


:ping
:: Warten auf Antwort
echo ping Computer "%1" ...

:: ins Root wechseln da sonst kein ping funktioniert!!
cd\
C:
ping %1
???????? merkwürdig.... findet er nichts? Oder liegt da vielleicht eine Ping.bat im Weg??
dann halt %windir%\ping.exe ... oder \\serverX\freigabeY\ping.exe

If Errorlevel 1 (
call :pingfailed %1
goto :eof
)
Bitte warten ..
Ähnliche Inhalte
Windows Server

Berechtigung auf Datei inkl. Pfad mit icacls

gelöst Frage von Michael-ITlerWindows Server3 Kommentare

Hallo an alle, ich versuche eine Berechtigung auf eine Datei in einer Freigabe mit icacls zu verändern: Befehl: icacls ...

Batch & Shell

Batch Ordner durchsuchen nach Datei und Pfad ausgeben

gelöst Frage von easy4breezyBatch & Shell2 Kommentare

Hi, ich möchte mehrere Ordner/Festplatten nach einer Datei bzw. einem "Suchwort" durchsuchen und falls diese Datei/Dateien existiert/en den Pfad ...

VB for Applications

Datei Name und Pfad auslesen mit FSO Objekt

gelöst Frage von Gimli3311VB for Applications3 Kommentare

Hallo Zusammen, ich möchte gerne den Dateinamen und den Pfad von der Datei jeweils in zwei Variablen speichern. Ich ...

Batch & Shell

If Exists auf Datei in Pfad mit Leerzeichen?

Frage von TheRealErebosBatch & Shell6 Kommentare

Hallo, ich habe ein Problem mit einem Batch. Ich möchte gerne prüfen ob Datei 1 nicht mehr vorhanden ist ...

Neue Wissensbeiträge
Humor (lol)
Und wie seid Ihr gegen Cyberattacken gewappnet?
Information von DerWoWusste vor 11 StundenHumor (lol)4 Kommentare

aber wo ist der Hammer? :-)

Sicherheit
Ein weiterer Microsoft-Stirnklatscher
Information von DerWoWusste vor 1 TagSicherheit7 Kommentare

Habe gerade einen Artikel zu einem Sicherheitsproblem gefunden, welches mir zu seiner Zeit (gepatcht 2015) wohl durchgerutscht ist. Es ...

Windows 10
Upgradepfade Windows 10 LTSC
Erfahrungsbericht von Datenreise vor 1 TagWindows 10

Nur eine kurze Info, für diejenigen, die es interessiert, da es hierzu im Netz aus nachvollziehbaren Gründen nicht allzu ...

Administrator.de Feedback
Wartungsarbeiten heute Nacht (Update)
Information von Frank vor 1 TagAdministrator.de Feedback10 Kommentare

Hallo User, durch Umbauarbeiten in unserem Rechenzentrum (am Backbone) kann es heute Nacht (14-15.01.2019) zu kurzen Ausfällen unserer Seite ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 - kein Boot mehr nach Domänenaustritt
gelöst Frage von Ghost108Windows 1025 Kommentare

Hallo zusammen, habe hier eine Windows 10 Maschine, die ich gerne aus der Domäne austreten lassen möchte. Nach Austritt ...

Windows 10
Windows 10 1803 - nicht identifiziertes Netzwerk - kein Login an Domäne möglich
Frage von Tomy389Windows 1021 Kommentare

Hallo Zusammen, ich hoffe zu dem Thema gibt es nicht schon einen Thread aber ich sollte eigentlich schon alles ...

Exchange Server
Microsoft Exchange Ser ver 2016 CU 8 auf den neuesten Stand bringen
gelöst Frage von Hendrik2586Exchange Server20 Kommentare

Hallo an euch alle. :) Kurze Frage. Ich habe hier einen Exchange Server wie o.g. Problem ist das wir ...

Microsoft
SFirm 4.0 auf Terminalserver startet für jeden angemeldeten Benutzer diverse Dienste
Frage von Frank84Microsoft17 Kommentare

Hallo zusammen, wir verwenden Sfirm 4.0 auf einem Terminalserver (der SQL Server ist auf einem separaten Server), das Problem ...