2010-08-23 8 views
0

J'ai créé un fichier de commandes de changement de nom et prend 3 arguments et renomme les fichiers dans un dossierComment ajouter un préfixe ou un suffixe pour renommer le fichier batch?

Le script de fichier batch est

@echo off&set /a cnt=1 
set arg1=%1 
set arg2=%2 
set arg3=%3 
for %%a in (%arg1%\%arg2%) do call :PROCESS "%%a" 
goto :EOF 
:PROCESS 
rename %1 %arg3%%cnt%.* 
set /a cnt+=1 

syntaxe Ex est:

rename.bat e:\ranks\Ranks *.gif ren_ 

arg1: e:\ranks\Ranks 
arg2: *.gif (rename only .gif files) 
arg3: ren_ (prefix txt to be added to every file) 

Maintenant, je veux obtenir l'option frm l'utilisateur abt s'il doit ajouter le préfixe ou postpix avec le txt .. Comment puis-je procéder après cela?

+0

Pouvez-vous essayer d'expliquer un peu plus clair ce que vous voulez faire? Je ne comprends pas très bien ce que vous voulez ici. – Joey

+0

Je veux obtenir une option de l'utilisateur pour savoir si préfixer ou postfixer du texte en renommant .. Par exemple: si l'utilisateur donne le txt comme 'ren' et que vous voulez préfixer, alors les fichiers doivent être renommés comme ren_1.gif, ren_2.gif, ren_3.gif, ren_4.gif etc et s'il veut que le txt soit postfixé, alors les fichiers doivent être renommés en 1_ren.gif, 2_ren.gif, 3_ren.gif, etc. – Vijay

+1

Si cette option est donnée sur la ligne de commande aussi bien ou demandé interactivement (par exemple l'utilisateur exécute 'rename.bat. \ * .txt ren' et le fichier séquentiel demande alors" Prefix (1) ou Postfix (2)? "où l'utilisateur répondrait soit' 1' ou '2' à choisir)? – Joey

Répondre

1

pour lui demander l'invite de l'utilisateur, vous pouvez utiliser set /p

1

Vous pouvez utiliser choice demander un choix de deux valeurs:

echo (1) Prefix 
echo (2) Postfix 
choice /M "> " /N /C 12 
if errorlevel 255 (
    echo User canceled 
) else if errorlevel 2 (
    echo Postfix 
) else if errorlevel 1 (
    echo Prefix 
) 
Questions connexes