Frage : DOS-Index-Verlegenheit

Ich habe einen Index und ich erhalte eine Fehlermeldung. Ich bin sicher, dass ich diesen Index selbst verwirrte, aber für das Leben von mir ich ihn nicht sehen kann. Eine andere EE gewährte diese Unterstützung eine Weilerückseite und sie war für eine lange Zeit, jetzt tut gerade nicht work

Error Mitteilung adaequat:
Invalid Zahl.  Numerische Konstanten sind entweder Dezimalstrich (17),
hexadecimal (0x11) oder Oktal (021).
The System kann den Reihenaufkleber nicht finden spezifiziert - DayNumber25
AB100_HOUR1_Seg1.mp3
AB100_HOUR1_Seg2.mp3
AB100_HOUR1_Seg3.mp3
AB100_HOUR1_Seg4.mp3
AB100_HOUR2_Seg1.mp3
AB100_HOUR2_Seg2.mp3
AB100_HOUR2_Seg3.mp3
AB100_HOUR2_Seg4.mp3
AB100_HOUR3_Seg1.mp3
AB100_HOUR3_Seg2.mp3
AB100_HOUR3_Seg3.mp3
AB100_HOUR3_Seg4.mp3


As, das Sie sehen können, berechnet nicht das Woche anymore


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
@echo weg

Rem-gesetzte erforderliche Wahlen
setlocal ENABLEEXTENSIONS
setlocal ENABLEDELAYEDEXPANSION

Rem-Auszugdatumbestandteile vom Tagesdatum
/a MM=%DATE einstellen: ~4.2%
/a DD=%DATE einstellen: ~7.2%
/a YYYY=%DATE einstellen: ~10.4%
YY=%DATE einstellen: ~12.4%

Rem erhalten Weeknumber, ausgab dann Dateinamen
Anruf: WeekNumber %MM% %DD% %YYYY%
für /L %%i (1.1.3) innen tun (
  für /L %%j (1.1.4) innen tun (
    Filename=AB%YY%%Week%_HOUR%%i_Seg%%j.mp3 einstellen
    Echo! Dateiname!
  )
)
Goto-: EOF

: WeekNumber
Rem berechnen einen Versatz, der auf Tag Woche des 1. Januar basiert, fiel an
/a Offset=%3-1900 einstellen
/a Offset= einstellen ((%Offset%+ (%Offset%/4)) %%7)+6
An Rem finden heraus, welchem Tag des Jahres (vom 1. Januar) wir sind
Anruf: DayNumber % 1% 2% 3
Rem addieren Versatz und teilen dann sich bis zum 7 Tagen pro Woche
/a Week= (%Day%+%Offset%) /7 einstellen
Goto-: EOF

: DayNumber
Rem bauen Zuwachs- Dy-Zahl vom Monat und vom Tag auf
/a Day=0 einstellen
Goto-: DayNumber%1
: DayNumber12
/a Day+=30 einstellen
: DayNumber11
/a Day+=31 einstellen
: DayNumber10
/a Day+=30 einstellen
: DayNumber9
/a Day+=31 einstellen
: DayNumber8
/a Day+=31 einstellen
: DayNumber7
/a Day+=30 einstellen
: DayNumber6
/a Day+=31 einstellen
: DayNumber5
/a Day+=30 einstellen
: DayNumber4
/a Day+=31 einstellen
: DayNumber3
/a Day+=28 einstellen
Rem fügen einen Extratag auf Schaltjahren hinzu
/a Leap=% 3% % 4 einstellen
wenn %Leap% == 0 gesetztes /a Day+=1
: DayNumber2
/a Day+=31 einstellen
: DayNumber1
/a Day+=%2 einstellen
Goto-: EOF

Antwort : DOS-Index-Verlegenheit

Diesem einen Versuch, es gutheißen, geben verwendet ein robusteres Programm, um die Tagesdatumbestandteile, als zu erhalten wir vorher verwendeten.  Ich reparierte auch die Wanze auf der Wochenzahl, damit sie null gefüllt wenn weniger als 10. ist.  Mich informieren, wie dieses geht.

~bp
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
@echo weg
 
Rem-gesetzte erforderliche Wahlen
setlocal ENABLEEXTENSIONS
setlocal ENABLEDELAYEDEXPANSION
 
Rem-Auszugdatumbestandteile vom Tagesdatum
Anruf: GetDate „Millimeter“ „DD“ „YYYY“
YY=%YYYY einstellen: - 2%
 
Rem erhalten Weeknumber, ausgab dann Dateinamen
Anruf: WeekNumber %MM% %DD% %YYYY%
für /L %%i (1.1.3) innen tun (
  für /L %%j (1.1.4) innen tun (
    Filename=AB%YY%%Week%_HOUR%%i_Seg%%j.mp3 einstellen
    Echo! Dateiname!
  )
)
/b herausnehmen
 
: WeekNumber
  Rem berechnen einen Versatz, der auf Tag Woche des 1. Januar basiert, fiel an
  /a Offset=%3-1900 einstellen
  /a Offset= einstellen ((%Offset%+ (%Offset%/4)) %%7)+6
  An Rem finden heraus, welchem Tag des Jahres (vom 1. Januar) wir sind
  Anruf: DayNumber % 1% 2% 3
  Rem addieren Versatz und teilen dann sich bis zum 7 Tagen pro Woche
  /a Week= (%Day%+%Offset%) /7 einstellen
  wenn %Week% LSS 10 Satz Week=0%Week%
  /b herausnehmen
 
: DayNumber
  Rem bauen Zuwachs- Dy-Zahl vom Monat und vom Tag auf
  /a Day=0 einstellen
  Goto-: DayNumber%1
: DayNumber12
  /a Day+=30 einstellen
: DayNumber11
  /a Day+=31 einstellen
: DayNumber10
  /a Day+=30 einstellen
: DayNumber9
  /a Day+=31 einstellen
: DayNumber8
  /a Day+=31 einstellen
: DayNumber7
  /a Day+=30 einstellen
: DayNumber6
  /a Day+=31 einstellen
: DayNumber5
  /a Day+=30 einstellen
: DayNumber4
  /a Day+=31 einstellen
: DayNumber3
  /a Day+=28 einstellen
  Rem fügen einen Extratag auf Schaltjahren hinzu
  /a Leap=% 3% % 4 einstellen
  wenn %Leap% == 0 gesetztes /a Day+=1
: DayNumber2
  /a Day+=31 einstellen
: DayNumber1
  /a Day+=%2 einstellen
  /b herausnehmen
 
: GetDate [Monat-variabel] [Tag-variabel] [Jahr-variabel]
  Rem erhalten Datumformateinstellungen vom Register
  Rem für REG.EXE 3.0 (Windows Xp) und neuere Versionen
  für /F „tokens=3“ %%A („Ausrichtungs-Frage „HKCU \ Kontrollbereich \ internationales“ /v iDate 2^>NUL ") „iDate=%%A“ einsetzen
  für /F „tokens=3“ %%A („Ausrichtungs-Frage „HKCU \ Kontrollbereich \ internationales“ /v sDate 2^>NUL ") „sDate=%%A“ einsetzen
  Rem für frühere REG.EXE Versionen
  Rem für /F „tokens=3“ %%A („Ausrichtungs-Frage „HKCU \ Kontrollbereich \ International \ iDate“ 2^>NUL ") setzen „iDate=%%A“ ein
  Rem für /F „tokens=3“ %%A („Ausrichtungs-Frage „HKCU \ Kontrollbereich \ International \ sDate“ 2^>NUL ") setzen „sDate=%%A“ ein

  Rem erhalten das laufende Systemsdatum (Tagesnamen ignorieren, wenn Geschenk)
  für %%A (%Date%) „Today=%%A“ einsetzen

  Rem analysieren das Tagesdatum, das auf Begrenzer vom Register basiert und weisen gewünschter Benutzervariable zu
  für /F „tokens=1-3 delims=%sDate%“ %%A innen („%Today%") tun (
    wenn „%iDate% " das == " 0“ einstellte /a „%~2=1%%B-100“ u. Satz /a „%~1=1%%A-100“ u. Satz „%~3=%%C“
    wenn „%iDate% " das == " 1“ einstellte /a „%~2=1%%A-100“ u. Satz /a „%~1=1%%B-100“ u. Satz „%~3=%%C“
    wenn „%iDate% " das == " 2“ einstellte /a „%~2=1%%C-100“ u. Satz /a „%~1=1%%B-100“ u. Satz „%~3=%%A“
  )
  /b herausnehmen
)
Weitere Lösungen  
 
programming4us programming4us