Dos-Box, seltsame(s) Zeichen - Was und woher?
Ich "spiele" mich ja gerade mit dumpedid (Monitorerkennung) herum und habe seit einiger Zeit folgendes Phänomen:
Die erste Zeile der bat Datei wird mit einer Fehlermeldung nicht ausgeführt, der Rest schon. Kopiere ich den Inhalt der Datei in eine neue bat, dann funktioniert dies einige Zeit um dann mit derselben Fehlermeldung abzubrechen. Die Fehleranzeige sind die "drei Winkel". Woher könnten die kommen?
Ich rufe dann aus dem Script eine Powershell auf und habe wiederum entweder den Fehler (Die Zeichenfolge "ÔÇ×") oder auch nicht. Habe ich den obigen Fehler, dann kommt auch der untere, läuft das obere Script durch, dann tut das untere dasselbe.
Hier die komplette test.bat:
Und die komplette ps.ps1:
Die erste Zeile der bat Datei wird mit einer Fehlermeldung nicht ausgeführt, der Rest schon. Kopiere ich den Inhalt der Datei in eine neue bat, dann funktioniert dies einige Zeit um dann mit derselben Fehlermeldung abzubrechen. Die Fehleranzeige sind die "drei Winkel". Woher könnten die kommen?
E:\>cd dumpedid
E:\dumpedid>test.bat
E:\dumpedid>´╗┐@echo off
Der Befehl "´╗┐@echo" ist entweder falsch geschrieben oder konnte nicht gefunden werden.
E:\dumpedid>.\DumpEDID.exe 1>.\daten.csv
Ich rufe dann aus dem Script eine Powershell auf und habe wiederum entweder den Fehler (Die Zeichenfolge "ÔÇ×") oder auch nicht. Habe ich den obigen Fehler, dann kommt auch der untere, läuft das obere Script durch, dann tut das untere dasselbe.
E:\dumpedid>Del temp*.txt
1 Datei(en) verschoben.
Die Benennung "ÔÇ×" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
Bei Zeile:1 Zeichen:4
+ ÔÇ× <<<<
+ CategoryInfo : ObjectNotFound: (ÔÇ×:String) , CommandNotFound
Exception
+ FullyQualifiedErrorId : CommandNotFoundException
PS E:\dumpedid>
Hier die komplette test.bat:
@echo off
.\DumpEDID.exe > .\daten.csv
powershell.exe .\ps.ps1
findstr /v /b "W" daten.csv > temp1.txt
findstr /v /b "R" temp1.txt > temp2.txt
findstr /v /b "P" temp2.txt > temp3.txt
findstr /v /b "E" temp3.txt > temp4.txt
findstr /v /b "V" temp4.txt > temp5.txt
findstr /v /b "H" temp5.txt > temp6.txt
findstr /v /b "Su" temp6.txt > temp7.txt
findstr /v /b "Dis" temp7.txt > temp8.txt
findstr /v /b "ManufacturerID" temp8.txt > temp9.txt
find ";" temp9.txt > temp10.txt
findstr /v "TEMP" temp10.txt > daten.csv
Del temp*.txt
@REM Löschen der Leerzeilen und -zeichen
@echo off &setlocal disabledelayedexpansion
(for /f "tokens=*" %%a in (daten.csv) do (
set "line=%%~a"
setlocal enabledelayedexpansion
set "newline=!line: =!"
echo(!newline!
endlocal
))>%ComputerName%.txt
@REM + find the computer domain name
@echo off
FOR /F "usebackq tokens=*" %%a IN (`wmic.exe COMPUTERSYSTEM GET DOMAIN /Value`) DO (
@((ECHO %%a | findstr /i /c:"Domain=") && SET _str=%%a) > NUL 2>&1
)
FOR /F "tokens=2 delims=^=" %%a IN ("%_str%") do SET COMPUTERDOMAIN=%%a
SET COMPUTERDOMAIN=%COMPUTERDOMAIN: =%
SET COMPUTERFQDN=%COMPUTERNAME%.%COMPUTERDOMAIN%
@REM FQDN als erste Zeile einfügen
echo host;%COMPUTERFQDN%>b.txt && type %ComputerName%.txt>>b.txt && move /y b.txt %ComputerName%.txt
PowerShell -NoExit -Command „& { Import-CSV .\daten.csv | Export-CliXML .\daten.xml }“
Und die komplette ps.ps1:
$file = '.\daten.csv'
(gc $file | out-string) -replace '(?ism)\*+\s*^Active\s*:\s?No.*?^\*+','' | set-content $file
(gc $file | out-string) -replace(":",";") |Set-Content $file
(gc $file | out-string) -replace '(?ism)\*+\s*^~*\s*',':' | set-content $file
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 315663
Url: https://administrator.de/forum/dos-box-seltsames-zeichen-was-und-woher-315663.html
Ausgedruckt am: 09.04.2025 um 16:04 Uhr
6 Kommentare
Neuester Kommentar

Hi FJII,
sieht mir auch nach einem UTF BOM (=Byte Order Mark) aus.
Schau dir die Datei doch in der PowerShell mit Format-Hex an.
Gruß
LotPings
sieht mir auch nach einem UTF BOM (=Byte Order Mark) aus.
Schau dir die Datei doch in der PowerShell mit Format-Hex an.
Gruß
LotPings

That's clear why it doesn't work you're editing the file in two worlds an ASCII batch world and a powershell unicode world! Why do you mix them, that's horrible ?? You can everything you do in the batch inside powershell as well !
The reason is that you don't specify the Output-Encoding in set-content ( set-content <file> -Encoding Default)
so the file gets Unicode and batch doesn't work well with unicode files if you import them again.
So please do yourself a favor and do everything directly in powershell.
Regards
The reason is that you don't specify the Output-Encoding in set-content ( set-content <file> -Encoding Default)
so the file gets Unicode and batch doesn't work well with unicode files if you import them again.
So please do yourself a favor and do everything directly in powershell.
Regards