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, 14897 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
Audio
Win10: Aspielen Audio-CD geht nicht - CDA (2)

Frage von Michi1 zum Thema Audio ...

Notebook & Zubehör
gelöst Notebook Verbindung zum Router geht, aber kein Internet (7)

Frage von Headhunter4711 zum Thema Notebook & Zubehör ...

Batch & Shell
gelöst Teil eines Strings als Variable setzen (2)

Frage von tHe-jAy zum Thema Batch & Shell ...

Microsoft Office
gelöst Office365 - Anmeldung geht nicht (1)

Frage von maichinger zum Thema Microsoft Office ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (29)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...