Top-Themen

Aktuelle Themen (A bis Z)

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

Variable CD ohne Tilde auslesen ?

Frage Entwicklung Batch & Shell

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

29.03.2011 um 15:38 Uhr, 4661 Aufrufe, 14 Kommentare

%CD% auslesen ohne Tilde

Hi Leute,

Ich möchte gerne eine Batchdatei als Link in einem Filemanager (Totalcommander) ausführen und dabei den aktuellen Pfad berücksichtigen.

Beim Auslesen der Variable %CD% bekomme ich zwar den aktuellen Pfad, aber leider werden die Verzeichnisnamen mut Umlauten falsch abgebildet und längere Ordnernamen mit den DOS Pfaden (mit Tilde) abgekürzt.

Kann mir jemand einen Tipp geben, wie ich einen Pfad OHNE diese Einschränkungen in eine BATCH Variable bekomme??
Mitglied: bastla
29.03.2011 um 15:45 Uhr
Hallo pbelcl!

Hinsichtlich der Umlaute sollte ein
chcp 1252>nul
helfen, und das angesprochene Verhalten von %cd% ist mir zwar neu, könnte sich aber vielleicht per
for %%i in ("%cd%") do set "Aktuell=%%~fi"
umgehen lassen ...

Grüße
bastla
Bitte warten ..
Mitglied: 60730
29.03.2011 um 17:27 Uhr
moin,

Obacht - nur wirklich dann nachmachen, wenn es wirklich drängt...

"HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation" Wert 1

sorgt dafür, das neu angelegte Ordner und Dateien keine 8.3 Shortnames mehr bekommen.

fsutil 8dot3name strip /s /l laufwerk:\pfad\
löscht auch die bereits erstellten 8.3 shortkeys....


btw: Totalcommander ist kein wirklicher einzusetzender Filemanager mehr- das ist ein Norton Commander Clown - der "NC" hatte mal zu echten Doszeiten wirklichen Sinn - heute ist das veralteter Kram - der sich an alte Regeln (siehe deine 8.3 Symtomatik) hält.

Gruß
Bitte warten ..
Mitglied: MrNetman
30.03.2011 um 13:44 Uhr
Hallo pbelci
Habe statt %CD%, das nur den aktuellen Pfad an der der CMD ausgibt den Parameter "%~f" verwendet. Dieser gibt den aktuellen Pfad für die Datei mit an.
z.B: for %F in (*.jpg) do dir "%~fF" "%F" für Bilder
inklusive Unterverzeichnissen:
for /R %F in (*.jpg) do dir "%~fF" "%F"

Viel Glück
Bitte warten ..
Mitglied: pbelcl
30.03.2011 um 15:15 Uhr
Hi Leute,

Hab mich mal dank eurer Infos, mit den %% Möglichkeiten des DIR Befehls näher auseinander gesetzt!
Das Ergebnis sieht so aus:

01.
  
02.
@echo off 
03.
chcp 1252>nul 
04.
for %%i in ("*.mp3") do echo %%~ni%%~xi>>%%~di%%~pi\_playlist.m3u
Der Link ist zu diesem Batch ist in der "ButtonBar" meines TotalCommander verlinkt und funktioniert immer dort wo ich gerade stehe....

Danke für eure Tipps!!
Bitte warten ..
Mitglied: pbelcl
30.03.2011 um 15:18 Uhr
Zitat von 60730:> btw: Totalcommander ist kein wirklicher einzusetzender Filemanager mehr

Nun das halt ich für ein schweres Gerücht, denn in meinem Fall war das Problem eher WIE ich die %CD% Variable auslese. Der TTC hat damit nix zu tun!
Du solltest das Teil übrigens mal ausprobieren bevor du es blind verurteilst

Danke trotzdem für deinen Tipp ....
Bitte warten ..
Mitglied: bastla
30.03.2011 um 15:20 Uhr
... wobei Du noch etwas knapper
for %%i in ("*.mp3") do echo %%~nxi>>"%%~dpi\_playlist.m3u"
schreiben könntest ...

Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
30.03.2011 um 15:23 Uhr
Zitat von bastla:
... wobei Du noch etwas knapper schreiben könntest ...

Perfekt bastla,
ich wußte doch dass du hier noch einen drauf setzen kannst
werde es gleich ändern, Danke!
Bitte warten ..
Mitglied: pbelcl
30.03.2011 um 15:29 Uhr
Hab übrigens noch was rausgefunden:
mit:
dir *.mp3 /b >_playlist.m3u"
wärs auch gegangen, oder hat das irgendwelche versteckten Pferdefüße?
Bitte warten ..
Mitglied: pbelcl
30.03.2011 um 16:11 Uhr
Pferdefuss schon gefunden ;-(

dir *.mp3 /b >_playlist.m3u"

überschreibt die alte Playlist, was ja so sein muss, funktioniert aber nicht Recursiv, sprich mit Unterordnern ...

for /r %%i in (*.mp3) do echo %%~nxi>>%%~dpi\_playlist.m3u"

funktioniert zwar wunderbar mit Unterordnern, fügt aber den ALTEN Playlisten nur neue EInträge hinzu, überschreibt diese aber nicht beim ersten Eintrag ;-(

Tja, nun bin ich doch noch nicht ganz fertig ....

Schön wär, wenn ich beides haben könnte.....
Bitte warten ..
Mitglied: bastla
30.03.2011 um 16:19 Uhr
Hallo pbelcl!

Wie wär's mit:
del /s /q _playlist.m3u & for /r %%i in (*.mp3) do echo %%~nxi>>"%%~dpi\_playlist.m3u"
Alternative:
for /r %%i in (.) do dir /b "%%i\*.mp3">"%%i\_playlist.m3u"
Beides ungetestet ...

Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
30.03.2011 um 17:57 Uhr
Zitat von bastla:>
for /r %%i in (.) do dir /b "%%i\*.mp3">"%%i\_playlist.m3u" 
> 
Gefällt mir fast besser, denn da muss nix gelöscht werden. Bin mit dem DEL Befehl und SUB-Dirs immer SEHR vorsichtig !

Nun kommt der Perfektionismus etwas raus
Hab mal versucht zu erreichen dass nur in Ordnern eine ,m3u Datei erzeugt wird, wo auczh eine .mp3 Datei drin ist mit:
for /r %%i in (.) do ( 
if exist %%~dpi*.mp3 dir /b "%%i\*.mp3">"%%i\_playlist.m3u" 
	)
Leider klappt das so noch nicht.
Ich denke ich werde meinen Perfektionistmus etwas zügeln, denn der Rest funktioniert SUPER, danke nochmal...
Bitte warten ..
Mitglied: bastla
30.03.2011 um 18:14 Uhr
Hallo pbelcl!

Hinsichtlich des Löschen hatte ich zwar auch Bedenken, aber da ja gezielt nur Dateien des Namens "_playlist.m3u" entfernt und danach alle Unterordner wieder abgegrast werden, hielt ich es für vertretbar ...
Deine Schleife könnte auch so aussehen:
for /r %%i in (.) do if exist "%%i\*.mp3" dir /b "%%i\*.mp3">"%%i\_playlist.m3u"
Ansonsten als (etwas weniger elegante) Alternative:
for /r %%i in (.) do dir /b "%%i\*.mp3">nul 2>nul && dir /b "%%i\*.mp3">"%%i\_playlist.m3u"
Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
30.03.2011 um 19:56 Uhr
Ich hab gerade die elegantere Version ausprobier, funktioniert super!
Danke Bastla!!
Bitte warten ..
Mitglied: 60730
30.03.2011 um 19:56 Uhr
moin,
Zitat von pbelcl:
> Zitat von 60730:> btw: Totalcommander ist kein wirklicher einzusetzender Filemanager mehr

Nun das halt ich für ein schweres Gerücht, denn in meinem Fall war das Problem eher WIE ich die %CD% Variable auslese.
Der TTC hat damit nix zu tun!
Du solltest das Teil übrigens mal ausprobieren bevor du es blind verurteilst
[OT]
schau mal auf meinen Avatar...
Ich hab nur eine Augenklappe - und die nur, weil das andere Auge sehr scharf sieht....
Das kommt davon, weil ich gerne weisse Schrift auf schwarzem Hintergrund lese und bekennender Gui Hasser bin
Glaubs mir einfach - ich bin so alt, wie du aussiehst
Meinen ersten Rechner hab ich auf den Tag genau vor 2 Tagen und 3 Jahrzehnten vor der Nase...(der hatte weniger Speicher als eine SIM Karte vom Handy - da lernt man sparsam mit Ressourcen zu sein)
[/OT]

Zitat von pbelcl:
Hab übrigens noch was rausgefunden:
mit:
dir *.mp3 /b >_playlist.m3u"
naja - das ist aber auch schon unter Windows 98se der Weg gewesen, um "Q&D" m3u Dateien zu erstellen.
Nur - was soll das mit deinen Kurzen Dateinamen zu tun haben?

01.
if not exist _playlist.m3u dir /n /b *.mp3>_playlist.m3u
Nur was willst du mit diesen m3u Dateien?
Da fehlt doch sinniges, wie #EXTM3U; #EXTINF und anderes, was man seit den Anfängen von mp3 eingeführt hat......

Danke trotzdem für deinen Tipp ....

yupp
Bitte warten ..
Ähnliche Inhalte
Mac OS X
MacOS wo ist die Tilde ?
Tipp von AlchimedesMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Batch & Shell
Datei als Variable auslesen und Variable ändern
gelöst Frage von chainsawBatch & Shell1 Kommentar

Hallo Profis, ich komme mit folgendem Problem nicht weiter: In dem Verzeichnis "C:\logfiles" landen bei mir Log-Dateien. Diese Log-Dateien ...

Batch & Shell
Variable in TextDatei auslesen
gelöst Frage von arvaxtrBatch & Shell5 Kommentare

Hallo Leute, ich habe eine TextDatei, in der eine Benutzervariable steht: %MyVar% ist als Benutzervariable in den Umgebungsvariablen definiert. ...

Batch & Shell
Mehrere Ordnernamen auslesen und in eine Variable schreiben
gelöst Frage von schmithoBatch & Shell5 Kommentare

Hallo zusammen, ich versuche verzweifelt eine Lösung eines Problems zu finden, wie ich den Namen mehrere Ordner in eine ...

Neue Wissensbeiträge
Microsoft

Update für AMD CPU (Spectre und Meltdown Lücke)

Information von sabines vor 1 MinuteMicrosoft

Wegen Problemen (BOSD, nicht startende PCs) wurde das Update KB4056897 und KB4056894 für AMD CPUs zurückgezogen. Dieses Update scheint ...

Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 12 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 19 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 21 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...