Vraag : De Moeilijke situatie van het Manuscript van Dos

Ik heb een manuscript en ik krijg een foutenmelding. Ik ben zeker dat ik dit manuscript zelf knoeide maar voor het leven van me kan ik niet het zien. Een ander EE verleende deze steun een tijdjerug en het werkte boete lange tijd, niet nu enkel work

Error- Bericht: aantal
Invalid.  De numerieke constanten zijn of decimaal (17),
hexadecimal (0x11), of achthoekig (021). het systeem
The kan niet het partijetiket gespecificeerd vinden - 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 u kunt zien berekent niet de week 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:
36:
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

De nodig opties van rem Reeks
setlocal ENABLEEXTENSIONS
setlocal ENABLEDELAYEDEXPANSION

De datumcomponenten van het rem- Uittreksel van huidige datum
vastgesteld /a MM=%DATE: ~4,2%
vastgesteld /a DD=%DATE: ~7,2%
vastgesteld /a YYYY=%DATE: ~10,4%
vastgestelde YY=%DATE: ~12,4%

Rem krijgt Weeknumber, toen outputfilename
vraag: WeekNumber %MM% %DD% %YYYY%
voor /L %%i binnen (1.1.3) (
  voor /L %%j binnen (1.1.4) (
    plaats Filename=AB%YY%%Week%_HOUR%%i_Seg%%j.mp3
    echo! Filename!
  )
)
goto: EOF

: WeekNumber
Rem berekent een compensatie op dag van week 1 wordt gebaseerd Januari dat viel
vastgesteld /a Offset=%3-1900
vastgesteld /a Offset= ((%Offset%+ (%Offset%/4))%%7) +6
Rem komt welke dag te weten van het jaar (vanaf 1 Januari) wij zijn
vraag: DayNumber % 1% 2% 3
Rem voegt compensatie toe en verdeelt dan tegen 7 dagen per week
vastgesteld /a Week= (%Day%+%Offset%) /7
goto: EOF

: DayNumber
Rem bouwt dy oplopend aantal maand en dag op
vastgesteld /a Day=0
goto: DayNumber%1
: DayNumber12
vastgesteld /a Day+=30
: DayNumber11
vastgesteld /a Day+=31
: DayNumber10
vastgesteld /a Day+=30
: DayNumber9
vastgesteld /a Day+=31
: DayNumber8
vastgesteld /a Day+=31
: DayNumber7
vastgesteld /a Day+=30
: DayNumber6
vastgesteld /a Day+=31
: DayNumber5
vastgesteld /a Day+=30
: DayNumber4
vastgesteld /a Day+=31
: DayNumber3
vastgesteld /a Day+=28
Rem voegt een extra dag op schrikkeljaren toe
vastgesteld /a Leap=% 3% % 4
als %Leap% == 0 vastgesteld /a Day+=1
: DayNumber2
vastgesteld /a Day+=31
: DayNumber1
vastgesteld /a Day+=%2
goto: EOF

Antwoord : De Moeilijke situatie van het Manuscript van Dos

O.k., geef dit een poging, gebruikt het een robuustere routine om de huidige datumcomponenten te krijgen dan wij voordien gebruikten.  Ik bevestigde ook het insect op het weekaantal zodat het gevulde nul wanneer minder dan 10 zal zijn.  Laat me weten hoe dit gaat.

~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:
36:
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
 
De nodig opties van rem Reeks
setlocal ENABLEEXTENSIONS
setlocal ENABLEDELAYEDEXPANSION
 
De datumcomponenten van het rem- Uittreksel van huidige datum
vraag: GetDate „MM.“ „DD“ „YYYY“
vastgestelde YY=%YYYY: - 2%
 
Rem krijgt Weeknumber, toen outputfilename
vraag: WeekNumber %MM% %DD% %YYYY%
voor /L %%i binnen (1.1.3) (
  voor /L %%j binnen (1.1.4) (
    plaats Filename=AB%YY%%Week%_HOUR%%i_Seg%%j.mp3
    echo! Filename!
  )
)
uitgang /b
 
: WeekNumber
  Rem berekent een compensatie op dag van week 1 wordt gebaseerd Januari dat viel
  vastgesteld /a Offset=%3-1900
  vastgesteld /a Offset= ((%Offset%+ (%Offset%/4))%%7) +6
  Rem komt welke dag te weten van het jaar (vanaf 1 Januari) wij zijn
  vraag: DayNumber % 1% 2% 3
  Rem voegt compensatie toe en verdeelt dan tegen 7 dagen per week
  vastgesteld /a Week= (%Day%+%Offset%) /7
  als %Week% LSS 10 reeks Week=0%Week%
  uitgang /b
 
: DayNumber
  Rem bouwt dy oplopend aantal maand en dag op
  vastgesteld /a Day=0
  goto: DayNumber%1
: DayNumber12
  vastgesteld /a Day+=30
: DayNumber11
  vastgesteld /a Day+=31
: DayNumber10
  vastgesteld /a Day+=30
: DayNumber9
  vastgesteld /a Day+=31
: DayNumber8
  vastgesteld /a Day+=31
: DayNumber7
  vastgesteld /a Day+=30
: DayNumber6
  vastgesteld /a Day+=31
: DayNumber5
  vastgesteld /a Day+=30
: DayNumber4
  vastgesteld /a Day+=31
: DayNumber3
  vastgesteld /a Day+=28
  Rem voegt een extra dag op schrikkeljaren toe
  vastgesteld /a Leap=% 3% % 4
  als %Leap% == 0 vastgesteld /a Day+=1
: DayNumber2
  vastgesteld /a Day+=31
: DayNumber1
  vastgesteld /a Day+=%2
  uitgang /b
 
: GetDate [maand-variabele] [dag-variabele] [jaar-variabele]
  Rem krijgt de montages van het datumformaat van registratie
  rem voor REG.EXE 3.0 (Vensters XP) en recentere versies
  voor /F „tokens=3“ %%A („Reg. vraag „HKCU \ Controlebord \ Internationaal“ /v iDate 2^>NUL“) plaatste binnen „iDate=%%A“
  voor /F „tokens=3“ %%A („Reg. vraag „HKCU \ Controlebord \ Internationaal“ /v sDate 2^>NUL“) plaatste binnen „sDate=%%A“
  rem voor vroegere versies REG.EXE
  rem voor /F „tokens=3“ %%A („Reg. vraag „HKCU \ Controlebord \ Internationale \ iDate“ 2^>NUL“) plaatste binnen „iDate=%%A“
  rem voor /F „tokens=3“ %%A („Reg. vraag „HKCU \ Controlebord \ Internationale \ sDate“ 2^>NUL“) plaatste binnen „sDate=%%A“

  Rem krijgt de huidige systeemdatum (negeer dagnaam als heden)
  voor %%A (%Date%) plaatsen binnen „Today=%%A“

  Rem ontleedt huidige die datum op afbakening van registratie wordt gebaseerd, en wijst aan gewenste gebruikersvariabele toe
  voor /F „tokens=1-3 delims=%sDate%“ %%A binnen („%Today%“) (
    als „%iDate% " == " 0“ /a „%~2=1%%B-100“ & /a „%~1=1%%A-100“ plaatsen & „%~3=%%C“ te plaatsen plaatsen
    als „%iDate% " == " 1“ /a „%~2=1%%A-100“ & /a „%~1=1%%B-100“ plaatsen & „%~3=%%C“ te plaatsen plaatsen
    als „%iDate% " == " 2“ /a „%~2=1%%C-100“ & /a „%~1=1%%B-100“ plaatsen & „%~3=%%A“ te plaatsen plaatsen
  )
  ga /b weg
)
Andere oplossingen  
 
programming4us programming4us