Je sais qu'il existe un article similaire à celui-ci: ici .
J'ai essayé d'utiliser la comp
commande comme elle l'a mentionné, mais si j'ai deux fichiers, l'un avec des données comme "abcd" et l'autre avec des données "abcde", cela dit simplement que les fichiers sont de tailles différentes. Je voulais savoir où exactement ils diffèrent. Sous Unix, le simple diff me dit quelle ligne et quelle colonne, la commande comp dans windows fonctionne si j'ai quelque chose comme "abd" et "abc". Pas autrement. Des idées que je peux utiliser pour cela?
284
FC path1\* FC path2\*
comparerait tous les fichiers des dossierspath1
etpath2
, à condition qu'ils (les fichiers) aient des noms identiques. S'il y a des fichiers dont les noms ne correspondent pas, FC signalerait un fichier manquant, mais uniquement pour les fichiers du premier dossier qui ne sont pas pas trouvé dans le deuxième dossier et non l'inverse. Pour attraper toutes les discordances, une technique différente serait probablement nécessaire.files in both directories are diff'd; files in only one directory throw errors.
" Intéressant. Mais il y a sûrement un programme tiers équivalent à diff?Eh bien, sous Windows, je lance avec plaisir
diff
et de nombreux autres outils GNU. Vous pouvez le faire avec cygwin , mais je préfère personnellement GnuWin32 car c'est une expérience d'installation beaucoup plus légère.Donc, ma réponse est que l'équivalent Windows de
diff
, n'est autre quediff
lui-même!la source
diffutils
. Voir cygwin.com/cgi-bin2/…Winmerge a un utilitaire de ligne de commande qui pourrait être utile de vérifier.
En outre, vous pouvez également en utiliser la partie graphique en fonction de vos besoins.
la source
Une autre alternative est de télécharger et d'installer git à partir d' ici . Ensuite, ajoutez le chemin d'accès
Git\bin\
à votrePATH
variable. Cela vous donnera non seulement des différences, mais également de nombreuses autres commandes Linux que vous pouvez utiliser à partir de la ligne de commande Windows.Vous pouvez définir la
PATH
variable en cliquant avec le bouton droit sur Ordinateur et en sélectionnant Propriétés. Ensuite, vous pouvez cliquer sur Paramètres système avancés sur le côté gauche de l'écran. Dans la fenêtre contextuelle, cliquez sur Variables d'environnement, puis ajoutez ou mettez à jour la variable PATH dans vos variables utilisateur avecGit\bin\
Documentation Git diff
la source
git...
exécutables disponibles à partir du PATH. De plus, la réponse devrait probablement inclure une information importante: vous devez lancer l'outil de diff en écrivantgit diff
, pas seulementdiff
.diff
FC fonctionne très bien dans mon cas, cela n'a pas été utile car je voulais juste les lignes qui sont modifiées. Et FC donne des données supplémentaires comme le nom de fichier, les mêmes lignes et la comparaison bilatérale.
mais dans mon cas, je ne voulais que les lignes qui ont changé et je voulais que ces lignes soient exportées vers un fichier différent, sans autre en-tête ou données.
J'ai donc utilisé "findstr" pour comparer le fichier:
où :
data.txt.bak
est le nom de l'ancien fichierdata.txt
est le nom du nouveau fichierDiffResult.txt
contient les données modifiées, c'est-à-dire une seule ligne #### 09la source
fc. fc est meilleur pour gérer des fichiers volumineux (> 4 Go) que le diff de Cygwin.
la source
Il y a aussi Powershell (qui fait partie de Windows). Ce n'est pas rapide mais c'est flexible, voici la commande de base. Les gens ont écrit diverses applets de commande et scripts pour cela si vous avez besoin d'un meilleur formatage.
Ne fait pas partie de Windows, mais si vous êtes développeur avec Visual Studio, il est fourni avec WinDiff (graphique)
Mais mon préféré est BeyondCompare, qui coûte 30 $.
la source
DiffUtils est probablement votre meilleur pari. C'est l'équivalent Windows de diff.
À ma connaissance, il n'y a pas d'équivalents intégrés.
la source
La raison pour laquelle vous obtenez l'erreur avec COMP est que l'utilitaire suppose que les fichiers que vous comparez sont de la même taille. Pour surmonter cela, vous pouvez utiliser l'
'/n'
option avec laquelle vous pouvez spécifier le nombre de lignes que vous souhaitez comparer. (voir les options prises en charge par comp en tapant'comp /?'
sur la ligne de commande. pour que votre commande ressemble à:Cela devrait résoudre votre problème si vous souhaitez continuer à utiliser COMP. Mais ce sera un problème pour les très gros fichiers.
Bien que ce
comp
soit une option, mais je pense que c'est primitif etFC
c'est une meilleure option. vous pouvez utiliserFORFILES
etFC
ensemble pour créer un très bon utilitaire de comparaison de fichiers si vous en avez besoin fréquemment.FC est utilisé de cette façon pour ref:
il existe de nombreuses options disponibles que vous pouvez voir en
'fc /?'
espérant que cela aidela source
J'ai trouvé un logiciel graphique léger pour Windows qui semble utile en l'absence de
diff
commande. Cela pourrait résoudre tous mes problèmes.WinDiff http://www.grigsoft.com/download-windiff.htm
la source
La fenêtre équivalente à la commande diff est la commande fc (File Comapre).
Voici les étapes de base pour ce faire:
1. Conservez les deux fichiers dans un dossier (exemple file1.html et file2.html)
2. Lancez l'invite de commande
3. Tapez fc file1Location file2Location
Ont trouvé un tutoriel détaillé sur le même:
http://www.howtogeek.com/206123/how-to-use-fc-file-compare-from-the-windows-command-prompt/
la source
Je ne sais pas si l'outil suivant est exactement ce dont vous avez besoin. Mais j'aime utiliser, pour des fichiers spécifiques, un outil en ligne. De cette façon, je peux l'utiliser quel que soit le système d'exploitation. Voici un exemple: diffchecker.com
Mais pour mes besoins, je suppose que le meilleur outil pour suivre les modifications et les journaux des fichiers de mon projet est GIT. Si vous travaillez en équipe, vous pouvez avoir un dépôt en ligne sur l'un de vos serveurs, ou l'utiliser avec Bitbucket ou Github.
J'espère que ça aide quelqu'un.
la source
Si vous avez installé git sur votre machine, vous pouvez ouvrir un terminal git et utiliser simplement la
diff
commande Linux comme d'habitude.la source