Salut à tous,
Je pensais m'en sortir avec tous les exemples que l'on trouve dans ce forum, mais je me rencontre que je suis largué.
Pour tous les fichiers nomfichier.txt d'un dossier, j'ai besoin de lancer la commande bcp TestDatabase.dbo._prefixenomfichier format nul -c -x -f D:\dossier\nomfichier.xml -t# -T.
J'ai bien compris qu'il me faut une petite boucle for, mais c'est après pour jouer avec les variables.
évidement, on est d'accord, le %%a.xml et le _prefixe%%a ne doivent pas être bon, il me faudrait le nom du fichier sans l'extension
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for /F %%a in ('dir *.txt') do ( start bcp TestDatabase.dbo._prefixe%%a format nul -c -x -f D:\dossier\ %%a.xml -t# -T )
Pas besoin d'un truc propre, juste un truc qui marche, c'est du one-shot.
pour l'explication, je réalise un utilitaire pour importer régulièrement un certain nombre de fichiers dans une base sqlserver, les tables sont nommées d'un préfixe et du nom du fichier sans l'extension. Et pour préparer les requêtes d'insertion, je dois d'abords extraire le schéma de la table pour faire la correspondance avec le fichier correspondant. Ça sera fait qu'une fois, ensuite les schémas évolueront à la main en même temps que les tables et les fichiers
Partager