Bonjour Je cherche à écrire un script qui permet de découper un fichier CSV (situé sur mon bureau) en plusieurs fichiers CSV de 3000 lignes maximums.
Le fonctionnement est simple: j'enregistre chaque ligne dans une variable puis je copie cette variable dans le nouveau fichier créé. Toutes les 3000 lignes un nouveau fichier est créé, et je souhaiterai que les lignes suivantes s'écrivent donc dans ce nouveau fichier.
J'ai trouvé de nombreux exemples sur internet mais un problème persiste: Tout ce que je copie s'écrit dans le même fichier. (le premier fichier créé)
J'espère que vous pourrez prendre le temps de me répondre et de trouver une solution à mon problème.
Voici mon code. Merci d'avance

Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
@echo off
setLocal EnableDelayedExpansion								
 
set /a limit=3000												
set file=instance.csv
set filepath=C:\Users\CQBD1476\Desktop\instance.csv										
set /a lineCounter=1
set /a filenameCounter=1
 
set name=
set extension=
for %%a in (%file%) do (									
    set "name=%%~na"										
    set "extension=%%~xa"									
)
 
set splitFile=!name!-part!filenameCounter!!extension!
echo Created !splitFile!.
 
for /f "tokens=* delims=;" %%b in (%file%) do (					
    if !lineCounter! gtr !limit! (
		echo --------------------------!limit!-------------------------------
        set /a filenameCounter=!filenameCounter! + 1
		echo *************************** !filenameCounter! ****************************
        set lineCounter=1
		set splitFile=!name!-part!filenameCounter!!extension!		
        echo Created !splitFile!.
 
    )
	echo boucle for numero 		!filenameCounter!
    echo %%b>>%splitFile%								
    set /a lineCounter=!lineCounter! + 1					
 
)