Într-un fișier batch, setați variabilele de la linii dintr-un fișier care conține caractere spaniole

Am găsit pe acest site acest script util pentru a atribui valori variabilelor de la linii dintr-un fișier txt.

@echo off

setlocal ENABLEDELAYEDEXPANSION
set vidx=0
for /F "tokens=*" %%A in (caplist.txt) do (
    SET /A vidx=!vidx! + 1
    set var!vidx!=%%A
    echo %%A
)
set var > test.txt
pause

Funcționează bine, dar liniile din fișierul meu de text conțin caractere spaniole ca ñ, é, etc. Liniile din test.txt sunt OK, dar ecoul din buclă for displaysază caractere exotice. BTW, obțin același efect făcând doar o comandă de tip simplu a fișierului.

Poate ajuta cineva? Mulţumesc mult

0

1 răspunsuri

asta pentru că fereastra terminalului care afișează ieșirea din cmd.exe folosește o pagină de cod diferită pe care sunt codificate caracterele din caplist.txt.

Probabil ele sunt codate utilizând fie ISO 8859-1, fie UTF-8.

Încercați chcp 1250 la terminalul dvs., pentru a vedea dacă aceasta vă rezolvă problema.

Dacă nu, aruncați fișierul text în hexazecimal și descoperiți codificarea folosită și setați corespunzător pagina de cod terminal.

0
adăugat
De fapt, am pus o întrebare similară despre set-p și răspunsul oferit de rjjj a rezolvat problema cu chcp 1250. Bineînțeles că am încercat o abordare similară cu această nouă problemă, dar nu a reușit. Nu știu cum să arunc fișierul text.
adăugat autor Francisco Garcia, sursa
Am creat fișierul cu Notepad
adăugat autor Francisco Garcia, sursa
Programarea unui fișier batch este un coșmar mai ales dacă folosiți caractere spaniole. Tocmai am început să învăț AutoHotKey care pare atât de ușor, mai ales pentru un începător ca mine. Oricum, vă mulțumesc tuturor pentru ajutor.
adăugat autor Francisco Garcia, sursa
ar putea fi codificat într-o altă pagină de cod; sau probabil în UTF-8, deși acest lucru nu este punct de vedere tehnic. De unde provine fișierul original txt? cum este produs? cu un editor? care editor? Pentru a arunca un fișier, utilizați un dumper hexagonal sau un editor hex, puteți găsi zeci de acolo. Sau încercați debug file.txt și apoi d .
adăugat autor PA., sursa