2010-09-04 20 views
-1

j'ai les fichiers nommés ..Renommer des fichiers différents pour un nom de fichier, un à la fois

82011.nsf 
63113.nsf 
55555.nsf 

je dois renommer chaque fichier à single.nsf (par exemple s 82011.nsf à single.nsf)

puis utiliser un programme pour agir sur ce fichier (single.nsf)

puis renommez le fichier suivant (63113.nsf à single.nsf) puis utiliser un programme pour agir sur ce fichier (single.nsf etc.

Je veux un fichier batch pour faire le nom, pause (afin que je puisse exécuter l'autre programme), puis faire le prochain changement de nom jusqu'à ce que tous les fichiers nsf sont terminés.

comment?

+0

Est-ce que l'autre programme ont un drapeau que vous pouvez utiliser pour spécifier un nom de fichier, de sorte que vous n'avez pas renommer chacun comme 'single.nsf'? Ou sinon, avez-vous le code à ce programme afin que vous puissiez ajouter cette installation? –

Répondre

-1

Cela devrait fonctionner:

for /f %%fname IN (‘dir /b *.nsf’) do call myprog %%a 

[src]

+0

Merci beaucoup pour votre aide .. – curtb

+0

Vous ne pouvez pas utiliser '%% fname'. De même, vous ne devriez pas utiliser 'for/f' sur la sortie de' dir' sauf si c'est absolument nécessaire. Bien que cela ait fonctionné dans ce cas, vous vous sentez mal avec des noms de fichiers contenant des espaces ou des caractères Unicode qui n'ont pas de représentation dans la page de codes OEM (sauf si vous utilisez une police TrueType pour la console, mais ce n'est pas le cas 't le défaut, alors attendez toujours les choses à casser). – Joey

1
for %i in (*.nsf) do ( 
    rename %i single.nsf 
    do_the_job 
    pause 
) 
+0

thnak vous pour votre aide c'est la solution finale pour moi. pour/f %% v IN ('dir/b * .era') copiez %% v nownsf.nsf et mettez en pause – curtb