C’est ce que j’ai écrit jusqu’à présent dans les scripts que j’avais utilisés par le passé. J'ai des connaissances de base, je construis et je fais des recherches au fur et à mesure.
Je reçois actuellement une erreur de syntaxe après l'écho de renommer / copier.
Peux-tu aider s'il te plait?
echo SWIFT UPDATER
echo off
echo off
echo Ready to go?
pause
for /F "tokens=*" %%1 in (pc_list.txt) do (
echo Renaming / Copying files to %
Ren /f "\\%%1\c$\Program Files (x86)\SWIFT\NSL\jnsl\wsnaddr.txt" "c$\Program Files (x86)\SWIFT\NSL\jnsl\wsnaddr.old"
copy "\\server\infratech\Servereng\APPS-UK\Swift Update\wsnaddr.txt" "\\%%1\c$\Program Files (x86)\SWIFT\NSL\jnsl\" >> "\\server\infratech\Servereng\APPS-UK\Swift Update\log.txt"
)
:::: End Copy ::::::
@echo off
windows
command-line
batch-file
Mork74
la source
la source
echo.
et nonecho off
.Réponses:
Il y a beaucoup d'erreurs dans ce script.
for
les instructions doivent utiliser une valeur alpha pour la variable (voir la documentation de MS ). Pas une variable numérique - qui sont conservés pour les paramètres transmis à un fichier de commandes.Essayez quelque chose comme ça à la place.
Et ...
doit être changé pour
Et...
doit être changé pour:
Parce qu'il n'y a pas de
/f
paramètre et que le second paramètre devrait être un simple nom de fichier plutôt qu'un chemin complet (voir la documentation de MS ). (et bien sûr j'ai changé le%%1
pour correspondre à la nouvelle%%a
variable)Je suis également confus par toutes les
echo off
déclarations. Habituellement, vous n'en avez qu'un@ECHO OFF
au début du script. Mais cela ne devrait causer aucune erreur. Cela crée parfois des résultats déroutants.Je vous recommande de vérifier le
<command> /?
résultat d'une ligne de commande si vous ne l'avez pas encore découvert. Il devrait contenir les mêmes informations que la documentation MS à laquelle j'ai lié.la source
merci, cela semble avoir fonctionné
for / F "tokens = *" %% a in (pc_list.txt) do (
ren "\ %% a \ c $ \ Program Files (x86) \ SWIFT \ NSL \ jnsl \ wsnaddr.txt" wsnaddr.old
la source