Je cherche une technique ou un utilitaire qui convertit dir/s en index.html. J'ai plus de 1000 documents que je veux indexer rapidement pour la première page d'un CD.Je cherche une technique ou un utilitaire qui convertit dir/s en index.html
Répondre
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.
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.