Je souhaite recopier une entête fixe dans un fichier de sortie.
J'ai crée donc un fichier entete.txt avec les entêtes fixes.
Dans le répertoire OUTPUT il y a, aprés un traitement, un fichier
xxxxxxx.sort (les xxxxxxx sont des chiffres variables à chaque
traitement).
en faisant la cmd suivante j'obtiens a peu de prés ce que je veux, sauf
que je voudrais que le fichier de sortie s'appelle xxxxxxx.tri au lieu
du nom fixe output.tri
cd C:\OUTPUT
copy ..\entete.txt + *.sort output.tri
comment modifier la ligne copy SVP ?
merci d'avance
Note_1 : la ligne commençant par :::: peut être enlevée. Elle sert juste pour le cas où on voudrait voir ce qui se passe.
Note_2 : il y a sûrement une solution plus compliquée, avec VBS ou JS. Mais, c'est trop complexe pour moi, alors je propose juste une solution facile en batch (et hop, un petit troll de plus au passage).
@-salutations
Michel Claveau
Bonjour !
Un petit batch devrait résoudre le problème, sans trop de difficultés.
Exemple :
@echo off
FOR /F "usebackq" %%i IN (`dir *.sort /B`) DO (
call :SUB %%~ni %%~xi
)
goto :EOF
Note_1 : la ligne commençant par :::: peut être enlevée. Elle sert juste
pour le cas où on voudrait voir ce qui se passe.
Note_2 : il y a sûrement une solution plus compliquée, avec VBS ou JS.
Mais, c'est trop complexe pour moi, alors je propose juste une solution
facile en batch (et hop, un petit troll de plus au passage).
Note_1 : la ligne commençant par :::: peut être enlevée. Elle sert juste pour le cas où on voudrait voir ce qui se passe.
Note_2 : il y a sûrement une solution plus compliquée, avec VBS ou JS. Mais, c'est trop complexe pour moi, alors je propose juste une solution facile en batch (et hop, un petit troll de plus au passage).
@-salutations
Michel Claveau
Méta-MCI
Re
Une version avec /R au lieu de /F :
@echo off FOR /R . %%i IN (*.sort) DO ( call :SUB %%~ni %%~xi ) goto :EOF
Bonjour et merci pour la réponse mais cela ne marche pas :'( j'ai un message: Le système ne peut pas trouver le nom de fichier de commandes - SUB je m suis créé un petit environement de test: C:TESTtest_testoutput dans test_test:
j'ai le fichier entete.txt qui contient: NOM;PRENON;CP;VILLE
j'ai test.cmd qui contient: cd C:TESTtest_testoutput ren *.tri *.sort rem copy ..entete.txt + *.sort output.tri "qui fonctionne a peu prés"
@echo off FOR /R . %%i IN (*.sort) DO (call :SUB %%~ni %%~xi) goto :EOF
cd ..
dans output j'ai mon fichier 12346789.tri qui contient SMITH,john,33300,BORDEAUX DUPONT,jean,75000,PARIS
je voudrais aprés le lancement du test.cmd que le fichier se nomme: 123456789.sort et avec la structure NOM;PRENON;CP;VILLE SMITH,john,33300,BORDEAUX DUPONT,jean,75000,PARIS
merci
Re
Une version avec /R au lieu de /F :
@echo off
FOR /R . %%i IN (*.sort) DO (
call :SUB %%~ni %%~xi
)
goto :EOF
Bonjour et merci pour la réponse
mais cela ne marche pas :'(
j'ai un message:
Le système ne peut pas trouver le nom de fichier de commandes - SUB
je m suis créé un petit environement de test:
C:TESTtest_testoutput
dans test_test:
j'ai le fichier entete.txt qui contient:
NOM;PRENON;CP;VILLE
j'ai test.cmd qui contient:
cd C:TESTtest_testoutput
ren *.tri *.sort
rem copy ..entete.txt + *.sort output.tri "qui fonctionne a peu prés"
@echo off
FOR /R . %%i IN (*.sort) DO (call :SUB %%~ni %%~xi)
goto :EOF
cd ..
dans output
j'ai mon fichier 12346789.tri qui contient
SMITH,john,33300,BORDEAUX
DUPONT,jean,75000,PARIS
je voudrais aprés le lancement du test.cmd que le fichier se nomme:
123456789.sort
et avec la structure
NOM;PRENON;CP;VILLE
SMITH,john,33300,BORDEAUX
DUPONT,jean,75000,PARIS
Bonjour et merci pour la réponse mais cela ne marche pas :'( j'ai un message: Le système ne peut pas trouver le nom de fichier de commandes - SUB je m suis créé un petit environement de test: C:TESTtest_testoutput dans test_test:
j'ai le fichier entete.txt qui contient: NOM;PRENON;CP;VILLE
j'ai test.cmd qui contient: cd C:TESTtest_testoutput ren *.tri *.sort rem copy ..entete.txt + *.sort output.tri "qui fonctionne a peu prés"
@echo off FOR /R . %%i IN (*.sort) DO (call :SUB %%~ni %%~xi) goto :EOF
cd ..
dans output j'ai mon fichier 12346789.tri qui contient SMITH,john,33300,BORDEAUX DUPONT,jean,75000,PARIS
je voudrais aprés le lancement du test.cmd que le fichier se nomme: 123456789.sort et avec la structure NOM;PRENON;CP;VILLE SMITH,john,33300,BORDEAUX DUPONT,jean,75000,PARIS
merci
Michel Claveau
Re
C'est la faute à ton lecteur de news. MesNews remplace les caractères : par des caractères de réponse. Je remet l'exemple, avec un pseudo caractère en début de ligne, à supprimer pour utilisation (en espérant que ça passera...
X @echo off X FOR /R . %%i IN (*.sort) DO ( X call :SUB %%~ni %%~xi X ) X goto :EOF X X :SUB X ::::echo copy entete.txt+%1%2 %1.tri X copy entete.txt+%1%2 %1.tri
-- @-salutations
Michel Claveau
Re
C'est la faute à ton lecteur de news.
MesNews remplace les caractères : par des caractères de réponse.
Je remet l'exemple, avec un pseudo caractère en début de ligne, à
supprimer pour utilisation (en espérant que ça passera...
X @echo off
X FOR /R . %%i IN (*.sort) DO (
X call :SUB %%~ni %%~xi
X )
X goto :EOF
X
X :SUB
X ::::echo copy entete.txt+%1%2 %1.tri
X copy entete.txt+%1%2 %1.tri
C'est la faute à ton lecteur de news. MesNews remplace les caractères : par des caractères de réponse. Je remet l'exemple, avec un pseudo caractère en début de ligne, à supprimer pour utilisation (en espérant que ça passera...
X @echo off X FOR /R . %%i IN (*.sort) DO ( X call :SUB %%~ni %%~xi X ) X goto :EOF X X :SUB X ::::echo copy entete.txt+%1%2 %1.tri X copy entete.txt+%1%2 %1.tri
-- @-salutations
Michel Claveau
Michel Claveau
Bon, je me suis connecté avec MesNews, et, là, ça passe.
-- @-salutations
Michel Claveau
Bon, je me suis connecté avec MesNews, et, là, ça passe.