Batch - Ausrufezeichen in Dateiname

1 Antwort

Ich brauche für die Auswertung den Quellcode. Mit normalen Mitteln hat Batch keine Probleme mit Ausrufezeichen.

Der Quellcode soweit:

@echo off
@chcp 1250
cls

set listname=filelist3.js
set location=%~dp0

echo var indexpath = "%location:\=/%"; >%listname%
echo. >>%listname%
echo Das Inhaltsverzeichnis wird erstellt.
echo Bitte haben Sie einen Moment Gedult...

Setlocal EnableDelayedExpansion
echo var files = new Array( >>%listname%    
for /f "tokens=*" %%j in ('dir /s /b /A-D %location%^|findstr /I "\.wav \.mp3 \.wma \.mp4"') do ( REM erlaubte Formate
    set var1=%%j
    set var2=!var1:^^!=xAUSRUFx! REM <- Das hier funktioniert leider nicht... :(
    set var3=!var2:\=/!
    echo "!var3!", >>%listname%
)
echo ""); >>%listname%

start %~dp0\%listname%
endlocal
exit

Ich befasse mich erst seit Sonntag mit Batch - bin immer offen für konstruktive Kritik ;)

0
@kamel91

Das Problem liegt an dem SETLOCAL-Befehl. Ohne den funktionieren die Ausrufezeichen.

Um das Problem mit den Variablen zu umgehen, kannst du eine zusätzliche Datei erstellen (hier Vartemp.bat genannt):

@echo off

set listname=filelist3.js
set location=%~dp0

echo var indexpath = "%location:\=/%"; >%listname%
echo. >>%listname%
echo Das Inhaltsverzeichnis wird erstellt.
echo Bitte haben Sie einen Moment Geduld...

echo var files = new Array( >>%listname%
for /f "tokens=1,2,* delims=: " %%J in ('dir /s /b /A-D "%location%"^|findstr /N /I "\.wav \.mp3 \.wma \.mp4" ^|findstr /N "."') do (
    >>Vartemp.bat echo @set var%%J=%%L
    >>Vartemp.bat echo @set var%%J=%%var%%J:\=/%%
    >>Vartemp.bat echo @echo "%%var%%J%%", ^>^>%listname%
)
call Vartemp.bat
del Vartemp.bat >nul 2>nul

echo ""); >>%listname%

start %~dp0\%listname%
pause
exit

Die zusätzliche Datei übernimmt das Festlegen der Variablen, das Verändern von ihnen und das Schreiben in die .JS-Datei.

Die Datei wurde erfolgreich getestet unter Windows XP Prof. SP3.

Das Problem ist jedoch, dass jetzt weder %- noch &-Zeichen funktionieren werden. Aber irgendwie musst du die Variablen aufrufen. Welches Zeichen du lieber haben willst, überlass ich dann dir xD

0

Dateinamen und erste Zeile einer Word Datei per Batch auslesen

Guten Tag,

ist es möglich, eine Batch Datei zu erstellen, die mir alle Dateinamen inklusive der ersten Zeile der Word Datei in eine Textdatei oder Exceltabelle schreibt (vorzugsweise Textdatei)? Sollte dann wie folgt aussehen:

['Überschrift', 'Dateiname.doc'],

Habe leider nur Grundkenntnisse in dem Thema und weiß nicht einmal ob dies möglich ist. Kann von mir aus auch per Excel Makro oder ein Tool sein, welches mir dabei hilft.

Würde mich über jegliche Hilfe freuen. =)

MfG Benjamin

...zur Frage

Batch Befehl für Maustaste vertauschen?

Suche den Befehl!

...zur Frage

Kann ich eine Batchdatei auf Android Handys ausführen?

Kann och irgendwie, mit irgendeiner App oder anderem Programm eine Batchdatei ausführen, irgendwie??

...zur Frage

Sonderzeichen Ø [ALT+155] in Batch

Hey leute wie kriege ich das Sonderzeichen Ø [ALT+155] in eine Batch datei um es mir von da aus ausgeben zu lassen?

echo Ø | clip

Grüße Kevin

...zur Frage

ipconfig ausgabe in eine Datei auf dem Desktop schreiben - batch Datei

Hallo, ich habe mal eine kurze Frage an alle schlaflosen scripting Gurus.

Ich möchte eine Batchdatei erstellen, die beim start die Ausgabe von ipconfig /all in eine Textdatei schreibt und zwar auf dem Desktop des aktuellen Benutzers. Ich habe bisher soviel gemacht, es funktioniert aber nicht.

ipconfig /all > C:\Dokumente und Einstellungen\%USERname%\Desktop\ipconfig_all.txt

Die Datei hat natürlich die Endung "bat"

Was habe ich vergessen oder falsch gemacht?

...zur Frage

In Batch den echo Befehl für mehrere Zeilen nur einmal schreiben?

Ich habe in Erinnerung, dass man irgendetwas machen kann, dass man nicht immer den echo am Anfang schreiben muss. (Windows 7)

Also nicht: echo. echo Ich bin ein echo Text über echo mehrere Zeilen

Sondern irgendwie so

echo. echo ( ich bin ein Text über mehrere Zeilen )

Es geht jetzt nicht so, aber ihr versteht hoffentlich worauf ich hinaus will. Geht dass irgendwie, oder hab ich das falsch verstanden?

...zur Frage

Was möchtest Du wissen?