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
GELÖST

Dateinamen als variable... wie geht das

Frage Entwicklung Batch & Shell

Mitglied: Nowologix

Nowologix (Level 1) - Jetzt verbinden

27.09.2007, aktualisiert 02.10.2007, 14716 Aufrufe, 5 Kommentare

Ich wollte einen dateinamen als variable speichern... habe schon vieles versucht aber bin nicht dahintergestiegen...


z.B: order\datei.txt

meine variable sollte dann %varib% heißen... und bei
echo %varib%
sollte demzufolge "datei.txt" herauskommen...

kann mir jemand helfen ?
Mitglied: bastla
27.09.2007 um 18:28 Uhr
Hallo Nowologix!

Grundsätzlich ginge das etwa so:
01.
set "Pfad=order\datei.txt" 
02.
for /f "delims=" %%i in ('echo %Pfad%') do set "varib=%%~nxi" 
03.
echo %varib%
Den Umweg über das "echo %Pfad%" kannst Du Dir ersparen, wenn der Pfad als Parameter übergeben wird:
01.
set "varib=%~nx1"
Ausgangspunkt für die Zerlegung muss also entweder eine Parametervariable (%1, %2, ...) oder die Schleifenvariable einer "for"-Schleife sein - siehe auch gegen Ende der Hilfe zu "for" ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
27.09.2007 um 19:29 Uhr
Hmmmja, bastla,

bevor ich Deinen Lehrschnipsel aber für 50 Euro an eine dieser Tankstellen-PC-Zeitschriften als Tipp verhöke^H^H weiterempfehle, würde ich die Variable "Pfad" aber in "Datei" umbenennen...

Noch besserer Schnipsel:
01.
set "Datei=order\datei.txt" 
02.
for /f "delims=" %%i in ('echo %Datei%') do set "varib=%%~nxi" 
03.
echo %varib%
Andere Variante: die Variable ohne "FOR /F"; nur mit FOR passend machen:

01.
>set "varib= blubb/bla bla bla.txt" 
02.
>for %i in ("%varib%") do @echo %~nxi 
03.
bla bla bla.txt
Grüße
Biber
Bitte warten ..
Mitglied: bastla
27.09.2007 um 19:37 Uhr
@Biber

Sollten wir's dann nicht gleich so machen (um vielleicht den "besten Schnipsel" - ohne Berücksichtigung Deiner anderen, wie ich finde, ohenhin viel besseren, Variante - zu erreichen):
01.
set "DateiMitPfadAberNochOhneLaufwerk=order\datei.txt" 
02.
for /f "delims=" %%i in ('echo %DateiMitPfadAberNochOhneLaufwerk%') do set "varib=%%~nxi" 
03.
echo %varib%
Grüße
bastla

P.S.: " ... für 50 Euro an eine dieser Tankstellen-PC-Zeitschriften als Tipp verhöke^H^H weiterempfehle ..." - ist das nicht etwas zu billig?
Bitte warten ..
Mitglied: Biber
29.09.2007 um 15:19 Uhr
Moin nowologix,

wie ist denn denn der gefühlte Status Deiner Frage? Beantwortet? Verschlimmert? Unverstanden?

Bitte gib doch mal Feedback.

Grüße
Biber
Bitte warten ..
Mitglied: Nowologix
02.10.2007 um 09:38 Uhr
wunderbar alles danke der nachfrage =)

es ging darum das ein programm eine datei erstellt mit dem dateinamen der IP.....

alles funktioniert... vielen dank nochmal

(for %%i in (%windir%\help\ip\*) do set "myip=%%~nxi")
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(2)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (39)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...

Off Topic
Fachzeitschriften als E-Book oder hardcoded? (10)

Frage von KowaKowalski zum Thema Off Topic ...