Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Merita achizitionat DFSK Fengon 5...

Pret actual invelitoare

Probleme baterie Samsung A54

Schema statie auto Renegade REN 1...
 Magazine IT de incredere

Parere SKODA Octavia 3 2.0TDI 150CP

Achizitie telefon 1000-1200lei

Unde gasesc o lampa buna pe gaz?
 Consulta specialiștii... Und...

Fostul director al Frontex: Comis...

Construire anexa lipita de casa

Ce folositi pentru urina mirosito...
 Socializare in prezenta copiilor

Cont Samsung A32

Hotarare definitiva a instantei, ...

Laptop office 2500 lei
 

Eliminare linie in fisier creat cu un .bat

- - - - -
  • Please log in to reply
3 replies to this topic

#1
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Salutare

Doresc sa scriu ceva ce preiau de la tastatura, din linia de comanda, intr-un fisier text.

Insa ma lovesc de aceeasi treaba, si atunci am facut cel mai simplu test, dar nici asta nu se comporta cum as vrea.

@ echo off
echo test > numefisier.txt

Ruland acest .bat, fisierul se creeaza, scrie test in el, dar fisierul are 2 linii (pe prima linie dupa test este crlf si inca o a doua linie vida.

As vrea ca in fisier sa am doar cuvantul test (doar 4 caractere, fara nimic altceva dupa, spatiu sau mai stiu eu ce), pe o singura linie.

Tot ce am incercat de pe net nu a functionat.

Ce gresesc? Cum pot sa fac asta?
Multumesc

#2
maccip

maccip

    45 ani

  • Grup: Senior Members
  • Posts: 32,913
  • Înscris: 06.01.2007
Adica tu a un enter la sfarsit si vrei sa scapi de el.
Altfel, un fisier text va contine si codul ascii 26 de end of file la sfarsit, asta o face dos-ul windowsul si apelurile sistem care lucreaza pe fisiere text, n-ai ce-i face.

Iar enterul de la sfarsit e bagat de outputul comenzii ce vrei s-p redirectionezi din consola catre fisier.
De exemplu comanda echo, baga un enter la final.

Un fisier text cu oar 4 caractere, va contine 5 impreuna cu marcajul EOF.

#3
sags

sags

    Senior Member

  • Grup: Senior Members
  • Posts: 9,769
  • Înscris: 24.04.2013
Mai intai ca nu obtii un fisier cu doua linii, ci cu una singura. Terminatorul CR+LF se pune inclusiv dupa ultima linie din fisier. Daca il deschizi in Notepad poti plasa cursorul pe o aparenta a doua linie, dar de fapt este imediat dupa sfarsitul fisierului (= dupa CR+LF care marcheaza sfarsitul singurei linii).

Poate ti se pare ca exista o a doua linie din cauza lungimii fisierului obtinut. Ai in orice caz 2 bytes mai mult decat textul pentru CR si LF. In linia de comanda, cum ai scris-o aici, ai un spatiu inanite de > si acesta este inclus in text, nu e ignorat (cel dintre > si numele fisierului este). Deci obtii un fisier de lungime 4 (test) + 1 (spatiul) + 2 (CR+LF) = 7.

Ca principiu Command prompt din Windows, si nici vechiul DOS, nu adauga/foloseste Ctrl+Z la sfarsit de fisier. Exceptia de care stiu este copy fisier_1 + fisier_2 fisier_de_iesire_ce_va_avea_ctrlz (concatenare de fisiere FARA comutatorul /b pentru mod binar).

Daca doresti sa scrii in fisier un text fara terminator de linie:

set /p =text_oarecare_dar_care_nu_poate_incepe_cu_egal<nul>fisierul_de_creat



#4
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Multumesc amandoura pentru explicatii.

View Postsags, on 26 iunie 2021 - 06:41, said:


Daca doresti sa scrii in fisier un text fara terminator de linie:

set /p =text_oarecare_dar_care_nu_poate_incepe_cu_egal<nul>fisierul_de_creat

Da, asta mi-a rezolvat problema. Multumesc.

PS. Rezolvat. Se poate inchide! Merci

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate