Ajout texte dans tous les fichiers

Bonjour,

J’utilise au quotidien un logiciel qui me génère des fichier avec une extension en .nc
(parfois 80 fichiers générés par heure).

Je peux ouvrir et écrire dans ces fichiers .nc avec le blocnote.

Je dois ajouter le texte « DACM045 » tout au début de chacun de ces fichiers.

J’aimerais savoir s’il existe un utilitaire ou un script me permettant d’ajouter ce texte dans chacun des fichiers générés?

D’avance merci pour votre retour

Bonjour
c’est une chose assez triviale à faire dans n’importe quel langage de programmation ou même de script (même du vieux batch (ou du visual basic script en .vbs) peut le faire) :smiley:

Faut juste un accès au système de fichier pour les lire et écrire , en C cela demande un peu plus de boulot mais avec un python ou truc récent c’est assez facile

Un essai sur powershell qui a l’avantage d’être déjà présent sur windows (mais qui a le souci qu’il faut activer la possibilité de lancer les scripts si ce n’est pas le cas)
Pour activer les scripts faut lancer Set-ExecutionPolicy Unrestricted dans powershell en mode administrateur
Cela donne

Une fois cela fait les scripts powershell sont des fichiers textes avec extension .ps1
On fait donc nouveau fichier texte , truc.ps1
Je ne suis pas un expert non plus, mais cela devrait marcher (en tout cas cela marche sur mes .txt de test)

$le_dossier = "d:\test\"  # Le répertoire source, à renseigner
$texte_a_ajouter = "DACM045"
$extension = "*.cc"

#pour faire une sauvegarde dans un repertoire sauvegarde
$nom_rep_sauvegarde = "sauvegarde"
$sauvegarde = -join ($le_dossier,$nom_rep_sauvegarde,"\")
$dejala = Test-Path -Path $sauvegarde #existe deja lui?
If (-Not ($dejala))  {
New-Item -Path $le_dossier -Name $nom_rep_sauvegarde -ItemType "directory" #creation repertoire sauvegarde s'il n'existe pas
}

#Lister les fichiers
$liste_fichiers = Get-Childitem -Path $le_dossier -Filter $extension


#Une boucle de tous les fichiers trouvés
foreach($fichier in $liste_fichiers)
    { $chemin = -join ($le_dossier,$fichier)  #repertoire + nom du fichier
      Copy-Item -Path $chemin -Destination $sauvegarde -Force #on copie l'original dans sauvegarde (mettre un # devant si inutile)

      Write-Host  $chemin # Affiche le nom fichier en cours dans la console
      $contenu_lu = Get-Content -Path $chemin #on lit le contenu
      
      Set-Content -Path $chemin -Value $texte_a_ajouter -Force #on écrase le fichier / met la premiere ligne
      Add-Content -Path $chemin -Value $contenu_lu #on ajoute/remet l'ancien texte
    }
Pause #on attend Entree pour fermer, ligne à supprimer ou mettre # devant la ligne si pas la peine

Si cela pose un probleme faudra peut être utilisé un autre langage, faire directement un executable au pire

1 « J'aime »

Cela fonctionne à merveille

Un grand merci et un grand bravo à vous

Très bonne journée

1 « J'aime »