2010-12-15 30 views

Répondre

0

AWK est bon pour ce genre de traitement.

Vous écrivez un programme (d'une certaine manière c'est plus un script) et appelez l'interpréteur AWK, et il exécute votre programme en l'interprétant ou en le compilant automatiquement, et traite l'entrée et génère la sortie.

Vous avez utilisé la balise MS-DOS, donc si vous recherchez une version d'AWK fonctionnant sous MS-DOS, google "Rob Duff's AWK".

Sinon, il y a beaucoup de paquets AWK et des ressources à http://www.klabaster.com/freeware.htm

documentation AWK dit beaucoup sur la correspondance de modèle et de la structure spécifique à AWK, mais vous pouvez l'ignorer. Un script AWK peut ressembler à un programme C normal. Il y a trois parties: une clause BEGIN, qui est faite avant que le fichier d'entrée (liste des répertoires) ne soit traitée, et une clause END (devinez :-) et une section qui est exécutée pour chaque ligne dans le fichier d'entrée . Bien adapté à votre application. La partie BEGIN et END de votre programme AWK produirait les balises HTML nécessaires, comme le titre, et le texte de base, y compris les en-têtes etc., et finirait le document HTML. La commande d'impression AWK envoie du texte à la sortie, que vous redirigez vers un fichier appelé index.html.

Pour traiter les lignes à partir du fichier dir/s et générer le corps du document HTML avec les liens, vous devrez probablement écrire certaines fonctions pour analyser la liste de répertoires et élaborer l'arborescence. Cela dépend exactement comment vous voulez que la liste index.html soit organisée. AWK prend en charge les fonctions comme C.

Je recommande d'utiliser dir/s/b au lieu de simplement/s car les résultats seront beaucoup plus faciles à analyser.

1

Vous avez besoin quelque chose comme ce qui suit:

@echo off 
    (
     echo ^<html^> 
     echo ^<head^> 
     echo  ^<title^>CD Directory^</title^> 
     echo ^</head^> 
     echo ^<body bgcolor="white" text="blue"^> 
     echo  ^<h1^>Directories^</h1^> 

     for /f "tokens=*" %%a in ('dir /b /ad /s') do (
     echo  ^<a href="file://%%a"^>%%a^</a^>^<br^> 
    ) 

     echo ^</body^> 
     echo ^</html^> 
    )>index.html 

Copiez et collez le code dans le Bloc-notes et l'enregistrer comme un fichier batch dire MAKHTML.BAT. Puis un feu dox DOS et exécuter le fichier de commandes en entrant son nom-à-dire,

makhtml 

Cela produira un fichier nommé index.html dans le même dossier.