Question

i ont un script perl qui est utilisé dans la mise à jour mes awstats journaux de mon site. Le script fonctionne très bien si je coller juste cmd (Windows) mais dès que je le coller dans un fichier batch, il bousille le format des fichiers générés (ils doivent être préfixés par date / heure actuelle). Le code est:

perl C:\PROGRA~2\AWStats\tools\awstats_buildstaticpages.pl -config=mywebsite -update -awstatsprog=C:\PROGRA~2\AWStats\wwwroot\cgi-bin\awstats.pl -dir=C:\myfolder\stats\reports -builddate=%YYYY%MM -buildpdf=C:\PROGRA~2\HTMLDOC\ghtmldoc.exe -staticlinksext=asp`

Les fichiers résultants générés est monsite. 201008 .asp si je le coller dans cmd et Execute mais dans un fichier de commandes avec le même script, mon fichier résultant est monsite. MM .asp.

Toute idée pourquoi cela se passe?

Était-ce utile?

La solution

Le problème est causé par %YYYY%MM.

« % » est un symbole spécial dans les fichiers batch. Vous devez y échapper en le doublant. %%YYYY%%MM

Autres conseils

Il semble que vous devez échapper aux caractères de '%'.

Le shell de commande faisant substitution variable sur %YYYY% que je devine est pas défini dans votre environnement, il se substitue à la chaîne vide pour cette « variable ».

Malheureusement, il n'y a pas des citations opaques dans le shell de Windows.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top