سؤال

لديّ برنامج نصي Perl يستخدم في تحديث سجلات AWStats الخاصة بي على موقع الويب الخاص بي. يعمل البرنامج النصي بشكل جيد إذا قمت فقط بلصقه في 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.

"٪" هو رمز خاص في ملفات الدُفعات. تحتاج إلى الهروب من ذلك عن طريق مضاعفة ذلك: %%YYYY%%MM.

نصائح أخرى

يبدو أن عليك الهروب من شخصيات "٪".

قذيفة القيادة تقوم باستبدال متغير على %YYYY% الذي أظن أنه لم يتم تعريفه في بيئتك ، لذلك يحل محل السلسلة الفارغة لهذا "المتغير".

لسوء الحظ ، لا توجد عروض أسعار غير شفافة في قذيفة Windows.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top