2010-08-03 9 views

Répondre

0
@echo off 
for /f %%a in ('dir /B') do (
    wuauclt > %%~na.txt 
) 
+1

'for' peut itérer sur les fichiers très bien, vous n'avez pas besoin de glisser 'dir' et tokenizing dans cela. Votre code rompt avec les noms de fichier Unicode lorsque la console est définie sur des polices raster, ainsi qu'avec des noms de fichiers contenant des espaces (deux raisons de ne pas utiliser 'for/f' dans ce cas). Également utiliser un programme aléatoire pour ne rien sortir est ... discutable, du moins à partir du moment où quelqu'un doit lire ceci. – Joey

7

itérer sur les fichiers dans le dossier:

for %x in (*) do ... 

Créer des fichiers vides:

type NUL > %~nx.txt 

Le %~nx renvoie le nom de fichier sans l'extension du variable de boucle %x. Ainsi, combiné:

for %x in (*) do type NUL > %~nx.txt 

Vous pouvez également utiliser copy NUL %~nx.txt mais cette volonté sortie 1 file(s) copied et jeter des erreurs si le fichier texte existe déjà; C'est la variante la plus silencieuse (ou utilisez copy /Y NUL %~nx.txt >NUL 2>&1).

Dans un fichier batch que vous devez l'% mais vous aurez pas besoin d'un fichier batch juste pour celui-liner (sauf qu'il fait partie d'un programme plus vaste):

for %%x in (*) do type NUL > %%~nx.txt 
Questions connexes