forum speccy.pl

ZX Spectrum => RÓŻNOŚCI => Wątek zaczęty przez: Abrimaal w 2018.02.24, 01:53:07

Tytuł: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.02.24, 01:53:07

Przerobiłem tymczasowo AYSplitter, żeby zamiast nowej linii wstawiał tekst _CRLF_
Tworzy on teraz plik .ini, w którym poszczególne linie są oddzielone tym właśnie _CRLF_
Dzięki temu cały plik .ini daje się pobrać jako zmienna o nazwie inicontent.

Teraz szukam rozwiązania, jak w tym pliku .ini z powrotem zamienić string _CRLF_ na właściwy znak nowej linii.
Próbowałem już wielu rozwiązań, np.:
zamienić w zmiennej inicontent=%inicontent:_CRLF_="\r\n"% - nie działa
zamienić _CRLF_ na kody ^x0D^x0A - nie działa
zamienić w ten sam sposób bezpośrednio w pliku - nie działa
utworzyć inną zmienną z pliku tekstowego zawierającego dwa znaki [CR][LF] i wstawiać je do zmiennej lub nowego pliku na bazie poprzedniego - też nie działa.
Nie mam już więcej pomysłów. Męczę się już z tym trzeci tydzień.

Jeśli nie da się zrobić tego w Command line, to pomógłby ktoś z gotowym rozwiązaniem w C#, Pascal, czymkolwiek.
Wywołany plik .exe zrobiłby swoje, tzn zamienił w pliku tymczasowe _CRLF_ na nową linię.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: KWF w 2018.02.24, 08:14:05
Jeżeli masz Windowsa z PowerShellem:
https://blogs.technet.microsoft.com/heyscriptingguy/2008/01/17/hey-scripting-guy-how-can-i-use-windows-powershell-to-replace-characters-in-a-text-file/ (https://blogs.technet.microsoft.com/heyscriptingguy/2008/01/17/hey-scripting-guy-how-can-i-use-windows-powershell-to-replace-characters-in-a-text-file/)

Albo "old school method" w batchu:
setlocal enabledelayedexpansion
set data=%1
set search=%2
set replace=%3
set "data=!data:%search%=%replace%!"
echo %data%
REM Use %data% here before calling endlocal.
endlocal

Albo coś w ten deseń. Nie tworzylem batchow od 15 lat.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: gregoryi w 2018.02.24, 15:04:16
W commandline
if {zminenna} EQU {_CRLF_} echo. >> plik wynikowy

echo. - nowa linia w pliku

Daj plik ja pobawię się.
Na bieżąco jestem z cmd.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.02.25, 03:18:44
@Klaud - tutaj właśnie jest problem, znane mi metody zamiany wywalają się na znaku nowej linii :(

@gregoryi - dzięki za podpowiedź echo. (z kropką). Nie znałem tego. :)

Skrypt ma utworzyć nowy plik _maker.ini na bazie tamtego, zamieniając znaki. Dlaczego tak?
Prosto było przerobić AY Splitter w Delphi, żeby zamiast nowej linii wstawiał tymczasowy separator _CRLF_
Na zmodyfikowanie AY Maker przyjdzie czas, na razie sobię z nim nie radzę.
To jest tymczasowe rozwiązanie, chcę sprawdzić jak będzie działała całość.
Na razie ograniczam się do rozebrania i złożenia pojedynczego pliku .ay, pętle i powtórzenia dla wielu dorobię.

Tu jest trochę mieszania między folderami, oryginalny plik .ay zostaje w tym samym folderze, co plik .bat
Robocze pliki są przenoszone do folderu \temp
Tam też znajduje się plik crlf.txt zawierający wlaściwe znaki nowej linii.
Plik aysplit.exe jest w folderze \bin... mniejsza z tym, to chodzi dobrze.

Problem zaczyna się od miejsca REM ----------------- HERE IS THE BUG -----------------------
Poprawnie wczytywane są kody CRLF do zmiennej,
ale utworzony nowy plik _maker.ini zawiera tylko kody CRLF bez danych.

Nie wiem też, jak pobrać nazwę oryginalnego pliku .ay, która może być dowolna, do zmiennej. Przyda się na etapie edycji.


Załączam .zip, który zawiera wszystko do przetestowania _split.bat z przykładami.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: smok.wawelski w 2018.02.25, 16:13:59
Notepad++ to potrafi.
W każdym języku programowania jest to banalne.
Jest na pewno mnóstwo programików commandline'owych które to potrafią (sed, awk, itp. także w wersjach pod Windows)

Polecam UnixTools do takich zabaw z tekstem:
http://unxutils.sourceforge.net/
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.02.25, 21:24:22
Zależy mi, żeby program (batch) działał w na każdym Windows, powiedzmy od Win 7. Bez instalowania dodatkowych komponentów, nawet bez Power shell.

Ale nie ma żadnych przeciwwskazań, co do wywoływania zewnętrznych .exe, napisanych w C# lub innym języku, nawet zawierających jedną instrukcję. 
Zacząłem od command line, dlatego że składnia jest dość prosta i rezultat można spawdzić natychmiast. Gdy program będzie chodził bezbłędnie, będę mógł spróbować przepisać to na język, który da się skompilować dla różnych systemów.

Ale i tak wolę czytelną składnię typu
IF CHR$ (PEEK a) = "A" THEN PRINT a
niż np.
IF !%A%! == 'A' > A.TXT
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: gregoryi w 2018.02.25, 22:19:54
Pierwsza linia do usunięcia

trochę duże ale to cmd.
Nie udało mi się znaleźć jaki kod wstawić by włożyć do pliku enter zamiast _CRLF_
Skrypt na szybko trochę na około.

A jak chciałbyś użyć powershell'a, to:
(Get-Content _spl_.INI) |
Foreach-Object {$_ -replace "_CRLF_","`r`n"} |
Set-Content _spl__.INI

Pozdrawiam
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.02.26, 05:10:30
Chodzi. Jeszcze nie sprawdziłem na innych .ini, ale przykładowy działa. Może niepotrzebnie wstawia spację przed [CR][LF] w niektórych liniach, ale AY Maker akceptuje to.
Dzięki bardzo.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: gregoryi w 2018.02.26, 07:33:24
Jak masz %% a >> _maker.ini to we wszystkich usuń spację jak jest.
Zamiast %% a >> _maker.ini ma być
              %%a>> _maker.ini
W nocy pisałem i przeoczyłem.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.02.26, 15:39:42
Super.
Może mi ktoś jeszcze powiedzieć, jak pobrać nazwę pierwszego pliku .ay z folderu bez ścieżki dysku i folderu?
Mniej więcej:
if exist *.ay set ayfilename= ...?
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.02.26, 19:13:26
Bardzo ładnie rozdziela plik na sekcję nagłówka i każdego utworu.
Jednak to działa tylko z tym konkretnym przykładowym plikiem .ini
W innych .ini niewiele daje dlatego, że ilość utworów NewSong może być różna.
Tak samo ilość CodeName i CodeAddress też jest różna, więc różna jest ilość linii w każdej sekcji NewSong.

Gdy w pliku jest tylko jedna para CodeName CodeAddress, to kolejne linie wychodzą
CodeName=temp\_spl_0_1.BIN
CodeAddress=49152
ECHO is off.
ECHO is off.

Gdy jest więcej utwórów niż 2, to nie są brane pod uwagę. Tutaj można zastosować pętlę do kolejnego NewSong,
Mi chodzi o najważniejsze, czyli która część wstawia do pliku nowy wiersz?
Czy to jest
echo %%r>> _maker.ini
i czym różni się >> od pojedynczego >


Widzę, że najpierw zamieniasz _CRLF_ na znak ; a później na ~
Separator mógł być dowolny. Wybrałem taki z uwagi na znikome prawdopodobieństwo pojawienia się tego w tytule utworu, pseudonimie czy innej zmiennej tekstowej. Jeśli masz pomysł na inny separator, to zaraz to poprawię.


DODANE:

W sumie miałbym tylko jedną prośbę. Czy mógłbyś przerobić to, żeby każdą linię exportował do osobnego pliku (lub zmiennej),
a następnie złożył z nich plik _maker.ini
Ja nie orientuję się absolutnie w tych delimiterach.
Czy mogę zdefiniować na początku, że znacznikiem końca linii jest _CRLF_ i wg niego plik zostanie podzielony na linie?
Dla ułatwienia teraz AY Splitter dodaje EOF na końcu pliku i może lecieć w pętli.

W załączniku inny plik .ini
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: gregoryi w 2018.02.26, 22:24:17
W języku skryptowym cmd niestety są, tragiczne ograniczenia.
Pętla for może przyjąć jedynie 31 parametrów, a w pliku przykładowym było 43.
Zamieniam tak naprawdę _CRLF_ na ; i później ;NewSong; na ~ do podziału na poszczególne pliki.
Znalazłem na necie plik o nazwie sed.exe (nie wiem tylko jak ze stroną kodową), działa podobnie jak ten skrypt w powershellu.
Jest na licencji GNU, więc do użytku niezarobkowego nadaje się.
Jeszcze nie testowałem jak działa, ale można użyć go do tego zadania.
Chyba, że dostanę maksymalnie duży plik ini, to postaram się przerobić by był uniwersalny.
Nie wiedziałem, że pliki ini są różne.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.02.26, 23:14:06
Wypróbuję ten plik. ale najpierw jeszcze coś innego.

Jeśli przez TYPE daje się operować na plikach tekstowych zawierających [CR][LF], można z kilku złożyć jeden,
to pewnie uda się też je rozłożyć na części
i niepotrzebna będzie zamiana nowej linii na tymczasowy separator.
Trudno powiedzieć, w jaki sposób odczytać dane i przypisać je zmiennym, aby były edytowalne,
czyli skrypt powinien czytać kolejne linie od znaku = (po Author= itd.) do separatora.
Liczniki plików i pętle już przerobiłem, tak że z tym nie będzie chyba problemu.

Właśnie przed chwilą wypróbowałem tworzenie playlisty dla emulatora
type ^aylplaylistid.txt ^playlist.txt>playlist.ayl
Plik aylplaylistid.txt zawiera identyfikator playlisty zakończony [CR][LF]
a plik playlist.txt to lista utworów, każdy w osobnej linii
Instrukcja powyżej utworzyła plik playlisty z obu plików tekstowych.

Może ja zaprezentuję, co do tej pory zrobiłem w temacie Edytor plików .AY,
Choć jeszcze nic nie chodzi, zorientujesz się co program w command line ma robić.

http://www.speccy.pl/forum/index.php?topic=3037.0

Dużo tam na początku było o tym w czym napisać od nowa główne pliki AYMaker i AYSplitter, ale jeśli już mam kompilator Pascal, bo w nim były pisane, to zawsze można próbować dostosować oryginały. Struktura plików AY jest naprawdę skomplikowana.



Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: gregoryi w 2018.02.27, 00:17:49
Na obecną chwilę co znalazłem i działa.
Niestety nie w czystym cmd ale za pomocą trzech plików unixutils:
1. sed zamiana znaku _CRLF_EOL i _CRLF_ na średnik (pod cmd nie przyjmuje znaku, ani CR ani LF)
2. tr konwersja średnik na LF (ten dziadyga nie potrafi dodać CR)
3. unix2dos konwertuje LF na CRLF.

Wszystko działa jak powinno być.

p.s.
Wczytam się w temat AYGOR i zobaczę o co chodzi.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: smok.wawelski w 2018.02.27, 08:07:38
UnxTools powinieneś "opędzić" jednym narzędziem - sedem lub awk, nie ma potrzeby 3 :)
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: gregoryi w 2018.02.27, 09:35:20
Jak robiłbym to pod bashem to i owszem.
Problem w tym, że robione jest to pod cmd.
W cmd nie ma znaczników CR LF otwarcie i trzeba kombinować, pod bashem robisz prosto sed s/_CRLF_/\r\n/g i koniec.
Niestety sed pod windowsa tak nie działa, on nie wie, że \r\n to znaczniki końca linii i wstawawia do wyniku \r\n zamiast _CRLF_.
Z godzinę spędziłem z sed'em by ten wstawił mi CRLF do pliku.
Wstawiania znaczników ukrywających nie przynosiło tego co oczekiwałem.
Z 15 minut z tr'em by wstawić CRLF.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: smok.wawelski w 2018.02.27, 11:23:07
tr potrafi zamieniać tylko pojedyncze znaki, więc nie da się LF zamienić na CRLF
Faktycznie sed pod windows jest nieco ułomny więc najprościej co udało mi się zrobić to:

dos2unix -n in.txt out.txt - CRLF na LF
a potem
unix2dos -n out.txt out2.txt - LF na CRLF

Dalej mamy dwa .exe. niestety.
Awk pod Windows jest równie ułomny, więc zawsze trzeba by użyć kombinacji tr/awk lub tr/sed co nie ma sensu.

http://dos2unix.sourceforge.net/
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Tygrys w 2018.02.27, 16:25:21
Jeżeli nie upierwasz się że to ma być windows, z do tego typu rzeczy idealnie nadają się unixowe skrypty.. to może zainstalowanie cygwina lub podobnych narzędzi pomoże? Będzie perl, awk, sed itp.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: PABB w 2018.02.27, 17:53:25
Jeżeli nie upierwasz się że to ma być windows, z do tego typu rzeczy idealnie nadają się unixowe skrypty.. to może zainstalowanie cygwina lub podobnych narzędzi pomoże? Będzie perl, awk, sed itp.

Jeżeli korzystasz z Windows 10, to możesz doinstalować "Windows Subsystem for Linux" -> złośliwi twierdzą, że nic lepszego na tę platformę się nie pojawiło :P Dostęp do shella i jego narzędzi z bezpośrednim i bezproblemowym dostępem do plików Windows :)

Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: gregoryi w 2018.02.27, 21:12:02
Problemem nie jest to, czym to zrobić (konwersja).
Myślę, że koledze bardziej chodzi o narzędzie uniwersalne działające bez dodatkowych opcji, kitów, dodatków i tym podobnych.
Język skryptowy cmd jest bardzo okrojony, nie został do tego stworzony by być zaawansowanym narzędziem (bardziej powłoką).
Z tym, że jest w miarę prosty do nauczenia się i dość szybko można opanować zaawansowaną składnię.
Ma być prosto i zrozumiale.

Postaram się przetworzyć ten skrypt tak by był uniwersalny.
Może uda mi się usiąść do niego w czwartek, jeżeli nie zdążę to dopiero w poniedziałek będę miał więcej czasu.

Pozdrawiam
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: gregoryi w 2018.02.27, 21:47:56
Wersja druga bardziej uniwersalna, chociaż i tak z ograniczeniami.

Pozdrawiam
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.02.28, 01:42:01
Dokładnie tak jak mówi Gregoryi. Piszę pierwszy program na inną platformę niż ZX. A że CMD bardzo przypomina mi Basic, dlatego na niego się zdecydowałem.
Jedna rzecz to napisać, ale ważniejsza zrozumieć. Tak aby po otwarciu pliku po kilkudniowej przerwie, po samej składni wiedzieć, co robi i co jest do zrobienia. Zainstalować zaawansowane środowiska zawsze można, ale co z tego, kiedy ja się w tym nie połapię.

Sam eksperymentuję szukając rozwiązań na forach i różnych portalach, ale ten problem nowej linii wydaje się nie do przeskoczenia.

Dziś nic nie piszę, ale spróbuję czegoś innego.
Standardowy plik .ini (czyli każda wartość w osobnej linii) rozbić na pojedyncze pliki tekstowe, w każdym jedna linia.
Czyli mam licznik od linii 001
jeśli linia nie jest pusta lub jej pierwsze 3 znaki to nie EOF,
to skrypt eksportuje pierwszą linię do pliku 001.txt
odrzuca pierwszą linię z pliku .ini i i zapisuje go jako tymczasowy plik tekstowy.
Zwiększa licznik i tak do końca.
Oby tylko tu nie było tego samego problemu z rozpoznaniem końca linii.

O co mi właściwie chodzi, to wczytanie danych po Author= Misc= CodeName= itd. czyli wszystkiego między pierwszym znakiem = a końcem linii do zmiennych, które będzie można później edytować.

Przesyłam taki typowy .ini






Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: steev w 2018.02.28, 12:13:09
Dokładnie tak jak mówi Gregoryi. Piszę pierwszy program na inną platformę niż ZX. A że CMD bardzo przypomina mi Basic, dlatego na niego się zdecydowałem.
Całkiem zrozumiałe...
Jak już / jeśli jednak dotrzesz do punktu w którym uznasz że nie tędy droga, rozważ proszę takie alternatywy :
Jak wyglądają programy napisane w tych językach możesz zobaczyć np. na Rosetta Code (http://www.rosettacode.org/wiki/Hello_world/Text)
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: silenter w 2018.02.28, 20:26:07
Dokładnie tak jak mówi Gregoryi. Piszę pierwszy program na inną platformę niż ZX. A że CMD bardzo przypomina mi Basic, dlatego na niego się zdecydowałem.
Może najłatwiej było by sięgnąć po Visual Basic Script tzw. VBS

Obsługuje to każdy współczesny windows a środowiskiem z kolorowaniem składni jest notepad++.

W 100% obsłuży twoje wymagania - jak chcesz podeślę ci dokumentację i ewentualnie kilka przykładów na czytanie i pisanie plików.

Wszystkich instrukcji jest mniej niż w ZX Spectrum  ale to jest potężne narzędzie w odpowiednich rękach. Funkcjonalnie jest w 100% zgodny z Visual Basic i Visual Basic for Applications oraz ASP Classic.
Latami w tym pisałem zarobkowo ;)
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.02.28, 20:47:09
Silenter, jeśli już tu jesteś, powiedz mi w jaki sposób mogę użyć plików .dll, które napisałeś? Mam na myśli AYTools. Po skompilowaniu ich otrzymałem pliki AYFile.dll i AYFileTests.dll
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: silenter w 2018.02.28, 21:04:27
Silenter, jeśli już tu jesteś, powiedz mi w jaki sposób mogę użyć plików .dll, które napisałeś? Mam na myśli AYTools. Po skompilowaniu ich otrzymałem pliki AYFile.dll i AYFileTests.dll
AYFile.dll zawiera zasadniczy kod procedur AYgrekowych

AYFileTests.dll jest biblioteką testów jednostkowych dla AYFile.dll. Zasadniczo możesz to olać.

Jak mi podeślesz te źródełka, bo ja już je gdzieś zapodziałem - to ci szybciutko przerobię AYFile.dll na AYFile.Exe.
(w ustawieniach projektu trzeba przestawić z [Output Type: Class Library] na [Output Type: Console Application])
Dołożyć w jakiejś klasie statyczną metodę [main] a w niej już używanie tych metod które są w projekcie AYFile.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.02.28, 22:43:16
Przesyłam cały zip AYFile, razem z tym, co kompilator wygenerował. Prześlij mi tylko te pliki, które poprawisz.

@Steev: W lua piszę piloty dla aplikacji Unified Remote. Wystarczy zapomnieć jednego ; na końcu linii
i już cały pakiet nie chodzi. Nie tylko jeden pilot, ale cały zestaw kilkudziesięciu pilotów. Bez żadnego komunikatu o błędzie.
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: silenter w 2018.02.28, 23:27:01
Masz już aplikację konsolową
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: Abrimaal w 2018.03.17, 07:08:36
Poradziłem sobie z rozbiciem plików .ini na linie i złożeniem ponownie. To najważniejsza część - dostać się do każdej linii, edytować, zapisać i złożyć z niego nowy .ini (lub kilkadziesiąt nowych .ini) a następnie AYMaker złoży to wszystko po edycji.
Pomogła mi w tym instrukcja more +1 która przerzuca pierwszą linię do nowego pliku.

Wszystko idzie pięknie z wyjątkiem interpretacji liczb.
Chcę, żeby każdy numer zapisany był w formie trzycyfrowej i na tym dziś poległem.
Do tej pory wykorzystywałem taką regułę
set filecount=0
...
set /a filecount+=1
if !filecount! lss 100 set filecount=0!filecount!
if !filecount! lss 10 set filecount=0!filecount!
Było dobrze, dopóki nie spróbowalem przetworzyć 10 lub więcej plików,
gdy plik zawieral więcej niż 10 linii, czy w pliku było więcej niż 10 utworów. Licznik zerował się po 9.
Próbowalem różne warianty set /a (arytmetycznie) zamiast zwykłego set - to z kolei miał problem z utworzeniem pliku o danym numerze.
Początkowa wartość =001 zamiast =1 też nic albo niewiele daje.
Zmiana kolejnosci warunków IF nic nie daje, albo całkiem zmienia numer np na 00001
Jeszcze próba w ten sposób, aby po każdym IF skoczył do etykiety całkiem pomieszała kolejność, choć każda etykieta miała swoją nazwę.
if !filecount! lss 10 (set filecount=00!filecount! & goto :labelaa)
if !filecount! lss 100 (set filecount=0!filecount! & goto :labelaa)
:labelaa

Z kolei gdy pliki są numerowane 1, 2, 3 ... 10, 11, 100, to przetwarzane są w kolejności alfabetycznej, czyli 1, 10, 100, 11, 2, 3 (załącznik)
Gdy z tym się uporam, będzie można zabierać się za pisanie edytora i przedstawić testową wersję na forum. Na razie mam pause co kilka linii, aby sprawdzać co i kiedy tworzy.
 
Tak przy okazji, czy CMD obsługuje HEX? To byłoby idealne. Nie ma znaczenia jak są pliki ponumerowane, ważne żeby były kolejno.
Jeśli trzeba, to użyję SED, choć jeszcze nie dotarłem do jego składni i parametrów.

------------------------------------------------

Aplikacja Ayfile.exe nie chodzi, chyba że źle ją uruchamiam. Wrzucam do folderu plik .ay i startuję
Ayfile example.ayWrzucam plik .ini + .bin i tak samo.
Ayfile.exe example.iniNie wiem, co w ogóle ma robić. Rozkładać czy składać plik? Błąd w obu przypadkach jest podobny (w zalączniku 2).
Na razie pozostaję przy drobnych modyfikacjach oryginalnych źródeł w delphi. 
Tytuł: Odp: Windows CMD - jak rozpoznać i zamienić [CR][LF]
Wiadomość wysłana przez: silenter w 2018.03.17, 09:42:10
daj pełną ścieżkę do pliku ay i zadziała
np:
AyFile.exe c:\plikiay\test.ay