décidémment le MS-DOS c'est une invention de fou !

Sur mon bureau :
- un dossier "test" avec dedans : un fichier "balls (Vista).bmp", un autre "JOUER !.lnk" et un dernier "PLAY.lnk".

La variable "%#exclude%" pointe vers un fichier d'exclusion dans lequel se trouve une ligne :
C:\Documents and Settings\*****\Bureau\test\JOUER !.lnk

Problème : le code ci-dessous ne copie rien (0 fichiers copiés), et en plus se permet de me demander si "[...]\test2" est un nom de fichier ou de répertoire, alors que j'ai mis "/i" comme paramètre à xcopy !!!

MAIS BON SANG DE BONSOIR ! c'est quoi le problème avec ce langage? Sérieusement??


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    set rep=C:\Documents and Settings\*****\Bureau\test
    set dest=C:\Documents and Settings\*****\Bureau\test2
    for /f "delims=" %%e in ('dir /b /s /a:-d "%rep%"') do set source=%%e & call :cop2
    pause
    :cop2
    echo COPIE EN COURS : %source%
    xcopy "%source%" "%dest%" /s /e /q /k /r /y /c /i /exclude:%#exclude%
    goto :eof
Comme je me suis dit "bon, %dest% ne contient pas le nom du fichier", j'ai essayé ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    for /f "delims=" %%e in ('dir /b /s /a:-d "%rep%"') do set source=%%e & call :cop
    pause
    :cop
    call :cop2 "%source%"
    :cop2
    echo COPIE EN COURS : %source%
    xcopy "%source%" "%dest%\%~nx1" /s /e /q /k /r /y /c /i /exclude:%#exclude%
    goto :eof
Mais ça marche pas non-plus !