Question : Apposer les données supplémentaires à la droite des données communes entre les dossiers


J'ai deux dossiers où dans tous les deux, les positions d'impression 1 10 sont les mêmes, toutefois dans le deuxième dossier je souhaite copier tout de la position d'impression 101 à la fin de la ligne, dans le premier dossier où les caractères 1 10 sont identiques.

Est-ce que ce possible est dans un environnement de DOS ?

Par exemple
File1 :
0019283743 34 23 34 .....
2935782983 23 53 96….
0125892837 95 23 53….

File2 :
0019283743  53 22 67 .... 23532.2035 235693
2935782983  64 75 74 .... 62837.2958 683023

Rendement :
0019283743 34 23 34…. 23532.2035 235693
2935782983 23 53 96…. 62837.2958 683023
0125892837 95 23 53….

Comme vous pouvez voir tandis que 1 à 10 sont les mêmes 11 à 100 diffèrent. …. est le reste des données jusqu'à la colonne 100.

Ces dossiers peuvent être très grands, largeur et longueur, par exemple le nombre de disques dépassera 100000 disques

Réponse : Apposer les données supplémentaires à la droite des données communes entre les dossiers

Il n'est pas efficace, mais c'est une approche. Placer les trois vars au début à vos dossiers.
Le fichier séquentiel suppose que la valeur « principale » des 10 premiers chars est unique, au moins dans file2. Autrement vous obtiendrez seulement la dernière ligne trouvée là pour chaque clef.
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
@echo au loin
EnableDelayedExpansion setlocal
placer file1=file1.txt
placer file2=file2.txt
viser =output.txt

copier le nul « %out% »
le « delims= de tokens=* d'usebackq » pour /F %%A dans ("%~file1% ») font (
  placer key=%%A
  placer le key= ! clef : ~, 10 !
  placer line=%%A
  delims= » %%B « de tokens=* pour /F dedans (« findstr /B /L /c :  » ! clef ! « « %~file2% » ") font (
     placer line=%%B
     placer line=%%A ! ligne : ~100 !
  )
  >> écho de « %~out% » ! ligne !
)
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us