Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2887 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Batch - Recopier un fichier dans un autre sans le début.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Batch - Recopier un fichier dans un autre sans le début.

n°1431570
yoyodede
Posté le 25-08-2006 à 18:19:27  profilanswer
 

Bonjour à toutes et à tous,
 
je voudrais pouvoir copier tout le contenu d'un fichier dans un autre, sauf les 43 premiers caractères.
J'ai essayé qq chose mais sans succès:
 
FOR /F "usebackq tokens=2" %%i IN (max2_mii5v1.001.yct) DO SET Nombre=%%i && GOTO Suite1
:Suite1
%Nombre:~43%>>max2_mii5v1.pdf
FOR /F "skip=1" %%i IN (max2_mii5v1.001.yct) DO ECHO %%i>max2_mii5v1.pdf
 
Merci d'avance pour votre aide.
 
YOYO, @+.

mood
Publicité
Posté le 25-08-2006 à 18:19:27  profilanswer
 

n°1431620
arnaud1206
Posté le 25-08-2006 à 20:57:54  profilanswer
 

Bonjour,
Cela se fait très bien en vbs avec la fonction left() et len()...
Car la en batch je vois pas.
@++

n°1431656
yoyodede
Posté le 25-08-2006 à 23:05:11  profilanswer
 

Merci d'avoir répondu arnaud1206.
Avec le vbs il faut installer quelque chose pour ça tourne ?
Ou c'est comme un fichier *.bat ?
 
YOYO, @+.

n°1431663
wackevat
Posté le 25-08-2006 à 23:25:34  profilanswer
 

Sinon en batch, il suffirait de modifier cette ligne  
%Nombre:~43%>>max2_mii5v1.pdf
en
echo %Nombre:~43%>>max2_mii5v1.pdf

n°1431732
yoyodede
Posté le 26-08-2006 à 08:21:34  profilanswer
 

echo %Nombre:~43%>>max2_mii5v1.pdf m'écrit bien le reste de la première ligne comme souhaité.
Problème, FOR /F "skip=1" %%i IN (max2_mii5v1.001.yct) DO ECHO %%i>max2_mii5v1.pdf, n'écrit pas toutes les autres lignes du fichier dans max2_mii5v1.pdf.
Quelqu'un a une idée ?
PS:je ne travaille pas avec un fichier texte mais binaire.
 
YOYO, @+.

n°1431734
gatsu35
Blablaté par Harko
Posté le 26-08-2006 à 09:06:10  profilanswer
 

ya un truc qui me chiffonne :/
tu as l'intention de creer un PDF de cette manière ?

n°1431791
yoyodede
Posté le 26-08-2006 à 12:56:47  profilanswer
 

En quelque sorte. De manière général avec n'importe quel type de fichier.
C'est posssible en batch à ton avis ?
 
YOYO, @+.

n°1431792
gatsu35
Blablaté par Harko
Posté le 26-08-2006 à 13:02:30  profilanswer
 

le PDF n'est pas un format plain/text mais plutôt binaire, donc vouloir générer un PDF avec un batch c'est farfelu comme idée :/
 
Sans compter que ce n'est pas en changeant une extension sur un fichier que tu vas changer son type

n°1431801
wackevat
Posté le 26-08-2006 à 13:11:59  profilanswer
 

yoyodede a écrit :

echo %Nombre:~43%>>max2_mii5v1.pdf m'écrit bien le reste de la première ligne comme souhaité.
Problème, FOR /F "skip=1" %%i IN (max2_mii5v1.001.yct) DO ECHO %%i>max2_mii5v1.pdf, n'écrit pas toutes les autres lignes du fichier dans max2_mii5v1.pdf.
Quelqu'un a une idée ?
PS:je ne travaille pas avec un fichier texte mais binaire.
 
YOYO, @+.


Effectivement, ce n'est pas génial de traiter un fichier binaire de cette façon.
 
Indépendamment de cela, la réponse à la première question : fais des tests avec > et >>.

n°1431802
yoyodede
Posté le 26-08-2006 à 13:12:30  profilanswer
 

Je ne vais pas générer un PDF à proprement parlé.
C'est une recomposition d'un fichier PDF découpé en plusieurs parties.
Pour le binaire, je l'avais déjà précisé plus haut.
Tu penses que c'est possible avec un *.bat ?
 
YOYO, @+.

mood
Publicité
Posté le 26-08-2006 à 13:12:30  profilanswer
 

n°1431806
yoyodede
Posté le 26-08-2006 à 13:17:22  profilanswer
 

wackevat a écrit :

Effectivement, ce n'est pas génial de traiter un fichier binaire de cette façon.
 
Indépendamment de cela, la réponse à la première question : fais des tests avec > et >>.


J'ai essayé avec > et >> et malheureusement même résultat.
Le reste du fichier n'est pas recopié.
 
YOYO, @+.

n°1431921
wackevat
Posté le 26-08-2006 à 19:38:27  profilanswer
 

yoyodede a écrit :

J'ai essayé avec > et >> et malheureusement même résultat.
Le reste du fichier n'est pas recopié.
 
YOYO, @+.


C'est parce que tu sors tout de suite de la boucle après le premier tour, par ton Goto.
 
On utilise call :Suite1 dans un tel cas.

n°1431929
yoyodede
Posté le 26-08-2006 à 20:14:34  profilanswer
 

Le goto est juste dans la première boucle qui ne recopie qu'une fin de ligne (fait exprès).
Par contre l'autre boucle n'a pas de goto, donc doit être faite en entier.
Et rien du tout. Rien de recopié.
 
YOYO, @+.

n°1431944
wackevat
Posté le 26-08-2006 à 21:25:04  profilanswer
 

Question : c'est fait exprès aussi de ne recopier, à partir de la deuxième ligne, que son premier token ?

n°1431948
yoyodede
Posté le 26-08-2006 à 21:46:47  profilanswer
 

En faisant :
FOR /F "skip=1" %%i IN (max2_mii5v1.001.yct) DO ECHO %%i>max2_mii5v1.pdf
on ne recopie que le premier token ?
Parce que c'est pas le but.
Le but c'est de recopier les lignes entières.
 
YOYO, @+.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Batch - Recopier un fichier dans un autre sans le début.

 

Sujets relatifs
Copie automatique de fichier à partir d'une carte SDPhp dans fichier .tpl
SELECT trop lent dans un fichier texte[Résolu]Problème avec le chemin du fichier courant!
[Résolu][C#.NET] Supprimer un fichier, acces refusé ??Comment savoir quel processus utilise tel fichier ?
tri fichier texte - VBSChemin du fichier courant
Acceder a une bibliotheque de fonctions dans un fichier xla ??Besoin d'aide pour modification courte d'un fichier php
Plus de sujets relatifs à : Batch - Recopier un fichier dans un autre sans le début.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR