質問

私のウェブサイトのawstatsログを更新する際に使用されるperlスクリプトがあります。 CMD(Windows)に貼り付けるだけでスクリプトは正常に動作しますが、バッチファイルに貼り付けた瞬間に、生成されたファイルの形式を台無しにします(現在の日付/時間で準備する必要があります)。コードは次のとおりです。

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`

生成された結果のファイルはMySiteです。201008.ASP CMDで貼り付けて実行すると同じスクリプトを持つバッチファイルで、結果のファイルはMySiteです。んん.asp。

なぜこれが起こっているのかという考えはありますか?

役に立ちましたか?

解決

問題はによって引き起こされます %YYYY%MM.

「%」は、バッチファイルの特別なシンボルです。あなたはそれを2倍にすることによってそれを逃れる必要があります: %%YYYY%%MM.

他のヒント

「%」文字を逃れなければならないようです。

可変置換を行うコマンドシェル %YYYY% 私が推測しているのは、あなたの環境では定義されていないので、その「変数」の空の文字列を置き換えます。

残念ながら、Windowsシェルには不透明な引用はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top