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

Variabler Pfad einer Datei?

Frage Entwicklung Batch & Shell

Mitglied: Worker734

Worker734 (Level 1) - Jetzt verbinden

04.11.2005, aktualisiert 13:43 Uhr, 6976 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

IDE & Editoren
USB STICK Datei AUTOMATISCH beim anschliessen auf fremden PC öffnen (9)

Frage von Jwanner83 zum Thema IDE & Editoren ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...