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, 14538 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 ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Xcopy leeren Folder1 nach Folder2 geht nicht (9)

Frage von Yauhun zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch mit Copy auf SBS2008 funktioniert nicht, auf Client geht es (9)

Frage von CyCOtt zum Thema Batch & Shell ...

Windows Server
Sharepoint - öffnen im Windows Explorer geht nicht (5)

Frage von DerWoWusste zum Thema Windows Server ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (21)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...