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, 14338 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
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Batch & Shell
Vergleich einer Zeichenfolge in zwei Dateinamen (1)

Frage von hongziehong zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien (PDF) umbenennen via batch, teilw. Dateinamen übernehmen, neues Präfix (6)

Frage von brause1701 zum Thema Batch & Shell ...

RedHat, CentOS, Fedora
gelöst CentOS 7 als Datengrab in Windows-Domäne (SBS2011) geht auf einmal nicht mehr (12)

Frage von sirhc4022 zum Thema RedHat, CentOS, Fedora ...

Windows Server
gelöst Server 2016 VM EVA zu Standard geht nicht (6)

Frage von smeclnt zum Thema Windows Server ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...