Batch ecriture en ligne au lieu de colonne
Fermé
orkal
-
17 juin 2010 à 17:30
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 18 juin 2010 à 12:18
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 18 juin 2010 à 12:18
A voir également:
- Batch ecriture en ligne au lieu de colonne
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- Déplacer une colonne excel - Guide
- Écriture facebook - Guide
- Formule somme excel colonne - Guide
8 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
18 juin 2010 à 08:12
18 juin 2010 à 08:12
hello
en ajoutant le texte à une variable
en ajoutant le texte à une variable
C:> type f2.txt a b c d e C:> aa a;b;c;d;e C:> type aa.bat @echo off setlocal enableDelayedExpansion set x= for /f "tokens=1" %%a in ('type f2.txt') do ( if not "!x!" == "" set c=; set x=!x!!c!%%a ) echo %x% C:>
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
18 juin 2010 à 11:49
18 juin 2010 à 11:49
on definit un caratctère délimiteur avec delims=+
on supprime l'espace dans le texte avec set z=!z: =!
on supprime l'espace dans le texte avec set z=!z: =!
C:> type f2.txt A B C D/ E F/ G C:> C:> aa A;B;C;D/E;F/G C:> C:> type aa.bat @echo off setlocal enableDelayedExpansion set x= for /f "delims=+ tokens=1" %%a in ('type f2.txt') do ( set z=%%a set z=!z: =! if not "!x!" == "" set c=; set x=!x!!c!!z! ) echo %x%
Sinon pour reprendre la réponse de Flashy Joe :
Il faut rajouter un ^ avant le -n.
Je crois que ça peut marcher...
for /f "tokens=2* delims==" %%i in ('type Log.txt ^| findstr /i /c:"="') do ( if not %%i== 0 echo ^-n %%i %%j >> End.txt )
Il faut rajouter un ^ avant le -n.
Je crois que ça peut marcher...
Flachy Joe
Messages postés
2103
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
21 novembre 2023
260
17 juin 2010 à 19:55
17 juin 2010 à 19:55
Salut,
il suffit de supprimer les sauts de lignes générés automatiquement par la commande echo en lui passant l'argument -n :
il suffit de supprimer les sauts de lignes générés automatiquement par la commande echo en lui passant l'argument -n :
for /f "tokens=2* delims==" %%i in ('type Log.txt ^| findstr /i /c:"="') do ( if not %%i== 0 echo -n %%i %%j >> End.txt )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai déjà tenté le -n, ça ne marche pas, ça le prend en caractère et il est donc présent sur le fichier txt.
T'as une autre idée?
Merci en tout cas
T'as une autre idée?
Merci en tout cas
Super !!!
Ca marche, merci beaucoup dubcek
Un dernier point.
Mon fichier txt est du type
A
B
C
D/ E
F/ G
Avec ta methode, ça me mets A;B;C;D/;F/;
Et j'aimerai A;B;C;D/E;F/G
Edit: si je supprime "manuellement" les espaces entre les / et les lettre, ça marche correctement. Donc cela revient à chercher comment supprimer les espaces dans le fichier txt. Ou bien, poser une condition pour dire que quand il y a un "/", on ajoute le morceau suivant(qui est supprimé ici)...
Tu as une idée?
Merci en tout cas :)
orkal
Ca marche, merci beaucoup dubcek
Un dernier point.
Mon fichier txt est du type
A
B
C
D/ E
F/ G
Avec ta methode, ça me mets A;B;C;D/;F/;
Et j'aimerai A;B;C;D/E;F/G
Edit: si je supprime "manuellement" les espaces entre les / et les lettre, ça marche correctement. Donc cela revient à chercher comment supprimer les espaces dans le fichier txt. Ou bien, poser une condition pour dire que quand il y a un "/", on ajoute le morceau suivant(qui est supprimé ici)...
Tu as une idée?
Merci en tout cas :)
orkal
Genial ça marche :)
Derniere petite colle:
J'ai deux bat qui fonctionne correctement chacun à la suite de l'autre, mais je n'arrive pas à les mettre dans un seul .bat . Pour une raison obscure, ils ne veulent pas en former qu'un....
Une idée?
Merci dubcek :)
orkal
Derniere petite colle:
J'ai deux bat qui fonctionne correctement chacun à la suite de l'autre, mais je n'arrive pas à les mettre dans un seul .bat . Pour une raison obscure, ils ne veulent pas en former qu'un....
Une idée?
Merci dubcek :)
orkal
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
18 juin 2010 à 12:03
18 juin 2010 à 12:03
y pas de raison...
vérifier des goto qui ont le même nom, par ex.
vérifier des goto qui ont le même nom, par ex.
Je n'ai pas de goto, dans aucun des deux bats...
le premier bat se connecte via un ftp, recupere un fichier
le second traite ce fichier
Il marche tout les deux tres bien maintenant, mais lorsque je les mets l'un à la suite de l'autre.... marche pas
Le code:
@echo off
echo IP?
set /P ip=
ftp -n -d -s:session.txt %ip%
quit
en fait, apres la commande ftp, aucune commande n'est prise en compte (il ne quitte pas comme je lui demande...)
le premier bat se connecte via un ftp, recupere un fichier
le second traite ce fichier
Il marche tout les deux tres bien maintenant, mais lorsque je les mets l'un à la suite de l'autre.... marche pas
Le code:
@echo off
echo IP?
set /P ip=
ftp -n -d -s:session.txt %ip%
quit
en fait, apres la commande ftp, aucune commande n'est prise en compte (il ne quitte pas comme je lui demande...)
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
18 juin 2010 à 12:18
18 juin 2010 à 12:18
quit est une commande ftp, il faut mettre le quit dans le fichier session.txt