Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

MS-DOS: Come usare il replace di Edlin?

Risolvi qui i tuoi problemi legati a Windows '95, '98, ME, NT, 2000, XP, 2003, Vista...

Moderatori: -> EleKtrA <-, antoo69

MS-DOS: Come usare il replace di Edlin?

Postdi Auxilium » 03/08/12 23:30

Salve, necessito di aiuto con il comando "edlin".

Nelle varie guide ho letto che ad esempio, per sostituire del testo in un file con edlin, bisogna usare [RANGE] r [STRINGA DA SOSTITUIRE] [NUOVA STRINGA], il problema dunque è questo: Cosa rappresenta "Range"?

Ho provato a fare nel seguente modo:

Codice: Seleziona tutto
edlin c.css
1,2 r body html




pensando che range fosse il range limite delle righe, quindi lo limito alla prima e alla seconda, ovvero dove c'è scritto:

body {

che vorrei sostituire con

html {

però mi dice "Not found".. Quindi come funziona il comando? Un' altra domanda, dato che la stringa da sostituire con quella nuova vanno separate da uno spazio, come faccio a sostituire una stringa con caratteri e spazi?

PS: Il file c.css è strutturato:

Codice: Seleziona tutto
body {
// blablabla
}
Auxilium
Newbie
 
Post: 4
Iscritto il: 03/08/12 23:27

Sponsor
 

Postdi archimede » 04/08/12 08:26

archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: MS-DOS: Come usare il replace di Edlin?

Postdi Auxilium » 04/08/12 08:38

Perfetto, se volessi usarlo in un file batch come dovrei scrivere? Ho tentato con:

Codice: Seleziona tutto
edlin c.css
1,5 r html ^Z body
e


Appare la schermata di edlin, però non esegue i comandi a seguire e quando "chiudo la schermata" di edlin, mi dice che "1" ed "e" non sono riconosciuti come comandi
Auxilium
Newbie
 
Post: 4
Iscritto il: 03/08/12 23:27

Postdi archimede » 04/08/12 12:40

Puoi provare così:

1) crea un file con edlin:
Codice: Seleziona tutto
C:\>edlin cmd.txt
Nuovo file
*i
       1:*1,100Rhtml^Zbody
       2:*e
       3:*^C

*e
NB: ^Z e ^C rappresentano la combinazioni Ctrl-Z e Ctrl-C da tastiera.

2) Usa il file suddetto come input di edlin, ad es.:
Codice: Seleziona tutto
type cmd.txt|edlin c.css
HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: MS-DOS: Come usare il replace di Edlin?

Postdi Auxilium » 04/08/12 16:42

Sì ma il problema è che il file è abbastanza lungo, diciamo 200-300 righe, per questo avevo optato per il replace.. :S

In più, nel file batch devo scrivere letteralmente:

Codice: Seleziona tutto
edlin c.css
*i
*1,100Rhtml^Zbody
*e
*^C
*e


? Da CMD funziona correttamente:

Codice: Seleziona tutto
edlin c.css
1,100Rhtml^Zboy
e


ma da batch come devo fare? :/
Auxilium
Newbie
 
Post: 4
Iscritto il: 03/08/12 23:27

Postdi archimede » 04/08/12 17:15

Auxilium ha scritto:Sì ma il problema è che il file è abbastanza lungo, diciamo 200-300 righe, per questo avevo optato per il replace.. :S
Eh?
Auxilium ha scritto:In più, nel file batch devo scrivere letteralmente
No, rileggi attentamente ciò che ho scritto: tutto quello che devi mettere nel file batch è il comando illustrato al punto 2.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Re: MS-DOS: Come usare il replace di Edlin?

Postdi Auxilium » 04/08/12 17:26

Perfetto! Grazie mille.

Ultima domanda.. Se non volessi creare un file esterno ma ottenere lo stesso risultato.. sarebbe possibile?
Auxilium
Newbie
 
Post: 4
Iscritto il: 03/08/12 23:27

Postdi archimede » 04/08/12 18:03

Usando edlin dubito.

In alternativa puoi creare un file replace.cmd così:
Codice: Seleziona tutto
@echo off
setlocal enabledelayedexpansion

if not exist "%1" (echo file inesistente...)&goto :eof

for /f "tokens=*" %%a in (%1) do (

   set write=%%a
   if %%a==%2 set write=%3

   echo !write!
   echo !write! >>new_%~n1%~x1
)
Quindi
Codice: Seleziona tutto
replace c.css body html
HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova


Torna a Sistemi Operativi Windows


Topic correlati a "MS-DOS: Come usare il replace di Edlin?":


Chi c’è in linea

Visitano il forum: rossomike1966 e 6 ospiti