2012-04-05 23 views
6

Hey ragazzi Ho un file di testo, mi chiedevo se qualcuno avesse un file batch da aggiungere "al beninning e", alla fine di ogni riga in un file di testo?File batch per aggiungere caratteri all'inizio e alla fine di ogni riga nel file txt

Per esempio io ho

1 
2 
3 

e voglio

"1", 
"2", 
"3", 

Se alcuni potrebbero incollare un rapido uno che mi avrebbe aiutato fuori =)

EDIT (da commento a @ mastashake57 di post):

Im su Windows, Le mie preoccupazioni se mi sentivo come se stavo chiedendo a qualcuno di farlo , Questo è quello che ho.

@echo off 
setlocal 
set addtext=test 
for /f "delims=" %%a in (list.txt) do (echo/|set /p =%%a%addtext% & echo\ & echo) >>new.txt 

Ma io riesco a capire come mettere le virgole come pensa parte del comando sua suppongo, o qualcosa del genere. questo solo il testo luoghi nel carattere di ogni riga

+1

Benvenuti a StackOverflow. Questo non è un sito "per favore fai il mio lavoro per me" o "per favore dammi codice". Cosa hai provato finora che non funziona? Se pubblichi il tuo tentativo e spieghi che cosa non funziona come ti aspetti, sono sicuro che qualcuno qui può aiutarti. Ci aspettiamo comunque che tu mostri uno sforzo da solo, per prima cosa. :) –

+0

E la risposta di mastashake57 solleva la domanda su quale sistema operativo sei? windows e lunix hanno file batch molto diversi – apple16

risposta

6
@echo off 
setLocal EnableDelayedExpansion 
for /f "tokens=* delims= " %%a in (input.txt) do (
set /a N+=1 
echo ^"%%a^",>>output.txt 
) 

-joedf

+2

Non penso che sia necessario abilitare l'espansione ritardata delle variabili, e non vedo come ** N ** venga usato ovunque. Altrimenti, questa sembra una risposta. – mojo

+0

:) haha ​​... Whoops yep non so perché ho lasciato la variabile N lì ...: P yeah ... Suppongo che non stavo prestando attenzione, ... Bazzazle! Funziona ..: D;) –

4

Fuori della parte superiore della mia testa, in Linux, è possibile ...

$ for each in `cat filename` ; do echo \"$each\", ; done >> newfilename 

"1", 
"2", 
"3", 
"4", 
"5", 

Edited - dal momento che è per Windows, questo ha fatto il trucco per me:

@echo off 
setLocal EnableDelayedExpansion 

for /f "tokens=* delims= " %%a in (filename.txt) do (
echo "%%a", >>newfilename.txt 
) 
+0

Im su Windows, Le mie preoccupazioni se mi sentivo come se stessi chiedendo a qualcuno di farlo, Questo è quello che ho. @echo off setlocal set AddText = test per/"delims =" F %% a in (list.txt) fare (eco/| set/p = %% a% AddText% e echo \ & eco \) >> new.txt Ma non riesco a capire come inserire le virgole in quanto pensa che sia parte del comando che presumo o qualcosa del genere. questo inserisce solo il testo nel carattere di ogni riga. –

+0

Modificato per riflettere la soluzione Windows. – Carlos

Problemi correlati