la fonction Copy de windows... ?
la fonction Copy de windows... ?
Salut,
Je me posais la question suivante, quel exe lance la copy de fichier dans windows. Je ne parle pas de xcopy.exe mais bien de celle qu'on peux utiliser dans la Boite de commande (demarrer/exécuter => cmd puis Copy fichiersource fichierdestination.)
Je me posais la question suivante, quel exe lance la copy de fichier dans windows. Je ne parle pas de xcopy.exe mais bien de celle qu'on peux utiliser dans la Boite de commande (demarrer/exécuter => cmd puis Copy fichiersource fichierdestination.)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Merci Djes, c'est vrai je m'en suis rendu compte, il apparait dans command.com et aussi dans cmd.exe
C'est ce dernier qui m'intéresse.
Je n'arrive pas à lancer la fonction copy de ce cmd.exe via PB.
Voilà mon code
J'ai bien la CMD qui s'ouvre mais la commande copy ne s'affiche pas. 
C'est ce dernier qui m'intéresse.
Je n'arrive pas à lancer la fonction copy de ce cmd.exe via PB.
Voilà mon code
Code : Tout sélectionner
Global path$=GetCurrentDirectory()
Global copy$=Chem$+"c:\windows\system32\cmd.exe" ; a modifier avec ton repertoire si différent.
parametres$="copy /B "+Chr(34)+"c:\test.txt"+Chr(34)+path$+"\test.txt"+Chr(34)
RunProgram(copy$,parametres$,"") ; ,#PB_Program_Hide

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
(la vieille remarqueThyphoon a écrit :heu ... tu sais qu'il existe une commande native PB pour copier les fichiers ?

Oui, mais ce n'est point le but de ma question.
Ce n'est pas tant la fonction copy que la manipulation de CMD.exe qui m'intéresse ici.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
lollllllll autant pour moi alorsAr-S a écrit :(la vieille remarqueThyphoon a écrit :heu ... tu sais qu'il existe une commande native PB pour copier les fichiers ?)
Oui, mais ce n'est point le but de ma question.
Ce n'est pas tant la fonction copy que la manipulation de CMD.exe qui m'intéresse ici.

Tape donc cmd /? ; sinon, voici la liste des commandes de ce shell : http://technet.microsoft.com/fr-fr/libr ... n-us).aspx
oui ! voici l'exemple pour le Ping

ou ipconfig !!!
ps : pas besoin de mettre le chemin de cmd.exe !!!!
Code : Tout sélectionner
prg=RunProgram("cmd.exe", "?/c ping 127.0.0.1", "", #PB_Program_Open|#PB_Program_Read)
If prg
While ProgramRunning(prg)
Debug ReadProgramString(prg)
Wend
EndIf
CloseProgram(prg)

ou ipconfig !!!
Code : Tout sélectionner
prg=RunProgram("cmd.exe", "?/c ipconfig /all", "", #PB_Program_Open|#PB_Program_Read)
If prg
While ProgramRunning(prg)
Debug ReadProgramString(prg)
Wend
EndIf
CloseProgram(prg)
ps : pas besoin de mettre le chemin de cmd.exe !!!!

Je n'ai pas de soucis coté commande, c'est juste que je n'arrive pas à lui lancer la fonction copy /B fichier1 + fichier2 fichier3djes a écrit :Tape donc cmd /? ; sinon, voici la liste des commandes de ce shell : http://technet.microsoft.com/fr-fr/libr ... n-us).aspx
@Dobro, je vais adapter ça pour le Copy.
Merci pour tes exemples, c'est très bon à savoir, la récupération des données dans le debugger c'est super.
----edit-----
Bon, après test, ça ne marche pas pourtant mes paramètres ont l'air corrects.
Code : Tout sélectionner
parametres$="copy /B "+Chr(34)+image$+Chr(34)+" + "+Chr(34)+archive$+Chr(34)+" "+FichierSortie$
prg=RunProgram(copy$,parametres$,"",#PB_Program_Open) ; ,#PB_Program_Hide
If prg
; MessageRequester("OK","ça marche"+Chr(10)+copy$+" "+parametres$)
SetClipboardText(copy$+" "+parametres$)
endif
Les paramètres renvoyés dans le clipboard sont pourtant bon..
Une idée ?
P.S : image$ est un fichier image, archive$ est une archive rar ou autre, et fichiersortie$ est le fichier de sortie.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
oui c'est bizarre !!
ceci apparemment fonctionne , mais aucune copie n'est effectué !
ceci apparemment fonctionne , mais aucune copie n'est effectué !

Code : Tout sélectionner
prg=RunProgram("cmd.exe", "?/c copy "+Chr(34)+"d:\PureBasic\ readme.txt d:\PureBasic\dobro\toto.txt"+Chr(34)+" /V", "", #PB_Program_Open|#PB_Program_Read)
If prg
While ProgramRunning(prg)
Debug ReadProgramString(prg)
Wend
EndIf
CloseProgram(prg)
faut toujours que ça m'arrive ce genre de connerie...
Le truc c'est que je voudrai comme cette fonction le permet de "joindre" 2 fichier en 1 seul, mais que les 2 soient utilisable...
Par exemple, en faisant copy /b fichierimage.jpg + archiverar.rar fichier_de_destination.jpg
On obtient un seul fichier (fichier_de_destination.jpg) et lorsque l'on clique dessus, on voit l'image, mais le mieux est que lorsqu'on ouvre ce même fichier avec winrar, on obtient le contenu du rar.
Comment gérer cela en PB ?
Sûrement avec des Size, create file et autres writefile mais je ne vois pas trop comment.
Le truc c'est que je voudrai comme cette fonction le permet de "joindre" 2 fichier en 1 seul, mais que les 2 soient utilisable...
Par exemple, en faisant copy /b fichierimage.jpg + archiverar.rar fichier_de_destination.jpg
On obtient un seul fichier (fichier_de_destination.jpg) et lorsque l'on clique dessus, on voit l'image, mais le mieux est que lorsqu'on ouvre ce même fichier avec winrar, on obtient le contenu du rar.
Comment gérer cela en PB ?
Sûrement avec des Size, create file et autres writefile mais je ne vois pas trop comment.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
le principe d'ajout a la fin d'un fichier c'est

apres faut voir comment winrar ou winzip , va digérer ce genre de fichier !!
Code : Tout sélectionner
text$="ceci est ajouté a la fin du fichier"
Resultat = OpenFile(1, "tampon.txt")
FileSeek( Lof() ) ; va a la fin du fichier
WriteString(1, text$)
CloseFile(1)

apres faut voir comment winrar ou winzip , va digérer ce genre de fichier !!

Mais le principe est le même pour 2 fichiers binaires ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
J'ai utilisé l'inclusion de fichier et ça marche au poil !
Je fichier généré est bien visible mais est aussi ouvrable avec winrar
Choubidou !
Le probleme avc includefile est que l'on ne peut pas utiliser un non de fichier qu'on récupère via un openrequesterfile.
exemple :
Image$=openrequesterfile.....
IncludeBinary Image$
ça entraînera un message d'erreur.
Je trouve ça dommage.
Je fichier généré est bien visible mais est aussi ouvrable avec winrar
Choubidou !
Code : Tout sélectionner
DataSection
StartFile1:
IncludeBinary "c:\image.jpg"
EndFile1:
Deb2:
IncludeBinary "c:\archive.rar"
EndFile2:
EndDataSection
Size=?EndFile1-?StartFile1
Size2=?EndFile2-?Deb2
Size3=?EndFile2-?StartFile1
CreateFile(1,"c:\test.jpg")
WriteData(1, ?StartFile1,Size3)
CloseFile(1)
exemple :
Image$=openrequesterfile.....
IncludeBinary Image$
ça entraînera un message d'erreur.
Je trouve ça dommage.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels