J'utilise Windows 7 Ultimate x64, mais mon expérience remonte à DOS 3.0.
Depuis DOS 3.1, vous avez pu ajouter un fichier à un autre en utilisant la commande COPY:
COPY FILE1+FILE2=FILE1
Rendre inutile la nécessité d'un fichier temporaire3.
C'était une commande très pratique car chaque fois que vous ajoutiez un nouveau programme, vous deviez souvent mettre à jour vos fichiers CONFIG.SYS
et AUTOEXEC.BAT
.
Auparavant, il était également important d’obtenir la bonne commande, sinon vous vous retrouveriez avec un FILE1 vide.
Mais aujourd’hui, lorsque j’ai essayé de le faire, le code FILE1
n’a pas été modifié, et lorsque j’ai inversé la commande, il a (de manière compréhensible) créé FILE1
une copie de FILE2
.
Est-ce que quelqu'un sait s'il a été remplacé par une autre méthode et quand ce changement est arrivé?
MODIFIER:
J'ai fait plus de tests, et curieusement, même si le code ci-dessus ne fonctionne pas, vous pouvez toujours copier depuis la console et l'ajouter à un fichier existant comme ceci:
copy file1+con=file1
Type some text to append to file1
^Z ([CTRL]+Z the End Of File character)
Je me demande si ma version de Windows est en quelque sorte gâchée. Tout corps peut-il reproduire mes découvertes?
MODIFIER:
Il fonctionne sous 95/98/ME/2000/XP/XP Mode/7 Professional x64/8 x64. Donc, j'imagine que ce n'est pas un problème 7 Ultimate x64
, mais plutôt un problème avec ma machine.
* Soupir *
MODIFIER:
Dernière édition, promis. :)
Ce n'était pas un problème avec ma machine, c'était un problème avec File1. Apparemment, lorsque j’y ai ajouté pour la première fois File2, les caractères [CTRL] + Z (caractère EOF) n’ont jamais été remplacés, ce qui a donné l’impression suivante au fichier:
Original Data
Original Data
[EOF]
Appended Data
Appended Data
Appended Data
Vous pouvez le dupliquer vous-même avec l'expérience suivante à partir de l'invite de commande. (Où ^ Z est le caractère [CTRL] + Z)
A l'invite de commande, tapez:
copy con file1
File One
^Z^Z
copy con file2
File Two
^Z
copy con file3
File Three
^Z
copy file1+file2=file1
copy file2+file3=file2
TYPE file1
TYPE file2
Tu verras:
file1
File One
file2
File Two
File Three
Vous pouvez type file2 >> file1
ou utiliser presque n'importe quelle autre méthode de concaténation de fichiers. Lorsque vous tapez file1
, il ne semble toujours contenir que File One
. MAIS si vous utilisez FIND "searchterm" file
pour analyser le fichier, il vous montrera ce qui se passe VRAIMENT. Dans ce cas, tapez:
FIND " " file1
Et vous serez récompensé par:
---------- FILE1
File One
→File Two
Windows 8 x86:
Microsoft Windows [Version 6.2.9200] (C) 2012 Microsoft Corporation. Tous droits réservés . C:\Utilisateurs\Nikos> echo foo> fichier1 C:\Utilisateurs\Nikos> barre d'écho> fichier2 C:\Utilisateurs\Nikos > copier/b fichier1 + fichier2 fichier1 fichier1 fichier2 1 fichier (s) copié (s) . C:\Utilisateurs\Nikos> type fichier1 Foo Bar
Qu'en est-il de type file2 >> file1
@echo off
cls
type "file2.txt" >> "file1.txt"
exit
assurez-vous de commencer avec de nouveaux fichiers que vous n'avez jamais essayé de copier.
Je viens de constater que sur mon (XP sp3) copy a+b a
sans /b
ajoute 1A
(SUB
) à la fin du fichier, ce qui fait que tout ce qui suit disparaît de la sortie de type
(mais more
le montrera). Copy /b a+b a
fonctionne.
Answer to: " Comment ajouter un fichier à l'aide de la commande COPY "
WARNING: Si vous avez une liste de fichiers que vous souhaitez combiner via la commande COPY, la procédure est simple mais peut potentiellement détruire vos fichiers.
Voie dangereuse :
copy /b one + two + three
- ajoutera le contenu de "deux" et "trois" au fichier "un". Ainsi, le "premier" original contient maintenant le contenu de 3 fichiers dans l'ordre approprié. Si, au cours du processus de copie, les choses tournent mal, vous ne pourrez pas récupérer le "premier" original, car celui-ci sera corrompu et vos données seront essentiellement perdues. Il n'y a presque jamais de raison d'utiliser cette méthode.
Safe Way :
copy /b one + two new_filename
- combinera 2 fichiers (vous pouvez en lister plus de deux bien sûr), créant un nouveau_nom_fichier contenant "un" et "deux" dans le bon ordre et laissant les fichiers originaux intacts.
C:\Utilisateurs\Nikos> type fichier1 Foo Barre C:\Utilisateurs\Nikos> copier fichier1 + con = fichier1 Fichier1 Con ihdui ohisd ^ Z 1 fichier (s) copié (s) . C:\Utilisateurs\Nikos> type fichier1 Foo Bar Ihdui Ohisd
Avez-vous essayé copy /b file1 + file2 file1
Attendre! Il y a plus! (Win7 Pro)
>ver
Microsoft Windows [Version 6.1.7601]
>copy file.a.txt + file.b.txt file.ab.txt
file.a.txt
1 file(s) copied
>copy fileA.txt + fileB.txt fileAB.txt
fileA.txt
fileB.txt
1 files(s) copied
En mettant de côté la notification "1 fichier (s) copié (s)", elle n’aime pas les fichiers avec des noms amusants.
copy /b input1 + input2 output
del input1
ren output input1
Peut être ça? : P
Pour copier dans un fichier binaire ...
Placez tous les fichiers dans le même dossier, par exemple. G:\Files
g:
cd Files
copy /B *.* TargetFilename.ext
et .ext
est le type de fichier requis