J'ai essayé de copier un fichier à un autre à partir de la ligne de départ jusqu'à une limite. c'est-à-dire, ligne 1 à 10 (fichier1.txt) -> fichier2.txt mais en écrivant "!" est sauté. que puis-je faire pour le résoudre. Toute aide sera reconnaissante.Programmation de fichier par lots
La boucle pour cette fonction est donnée ci-dessous.
%NF%-> new file.
%EF%-> existing file
%1% -> line number(passed from another part)
:_doit
findstr /N /R "." %EF%|findstr /B /C:"%1:">nul
if errorlevel 1 (
echo. >>%NF%
) else (
for /f "tokens=1 delims=" %%a in ('findstr /N /R "." %EF%^|findstr /B /C:"%1:"') do (
if [%%a] EQU [] (
echo. >>%NF%
) else (
echo %%a >>%NF%
)
)
)
Il y a deux problèmes, "echo". est deux fois plus lent que "echo (" et il échoue si un fichier nommé "echo" existe.Le deuxième problème est avec les fichiers longs votre code ne fonctionne pas, parce que vous n'avez pas utilisé endlocal et donc vous obtenez un débordement. – jeb