2009-05-28 9 views
3

J'ai un fichier de commandes avec le code suivant:lot boucle avec support dans la commande

for /f "tokens=*" %%a in ('dir /b /a-d') do (
echo Processing %%a >>%LOG% 
dtsrun /S(local) /NNotesLoad /A"FilePath:8="%NOTESDIR%\%%a" /AClientID=%1 >>%LOG% 

echo Deleting %%a >>%LOG% 
del %%a /q 
) 

Ce retourne un message d'erreur «/NNotesLoad était inattendue à ce moment », car le second support est effectivement fermant le bloc FOR.

Je dois laisser le (local) comme paramètre/S.
Comment échapper les parenthèses dans la ligne dtsrun?

EDIT: Il s'avère que vous pouvez spécifier le serveur dans dtsrun pour local sous.

Mais je voudrais toujours une réponse à l'échappement pour les crochets.

Répondre

4

La solution pour échapper aux caractères de crochets est de préfixe avec un accent circonflexe

Il lirait:

/S^(local^)