Ursprüngliche Frage: Ich versuche, Monat und Jahr Variablen Variablen für das Geschäftsjahr ab April bis März für 18 Monate zuweisen. Ich erwarte, dass die Charge sys Monat und Jahr auswählt und sie für 18 Monate zuweist. Die Monatsvariable sollte mit dem Monatswert bis 18 Monate steigen und der Jahresvariablewert sollte Ende März beginnen. Apr.Monat und Zeitraum den Variablen basierend auf sysdate zuweisen
Antwort
Dies ist nicht zu schwer mit ein wenig Modulo Mathe und Indizierung in eine Liste von Monatsnamen Abkürzungen. Ich habe den Mechanismus verlassen, um CUR_MONTH und CUR_YEAR an dich zu bringen. Sie könnten% DATE% parsen, aber das wäre schlecht. Suchen Sie nach Möglichkeiten, den aktuellen Zeitstempel durch WMIC
zu erhalten.
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
REM Use 0-based month index.
REM Jan = 0, Feb = 1, ...
FOR /F "usebackq skip=1" %%a IN (`type NUL ^|WMIC Path Win32_LocalTime Get Month ^| findstr .`) DO (SET /A "CUR_MONTH=%%a - 1")
FOR /F "usebackq skip=1" %%a IN (`type NUL ^|WMIC Path Win32_LocalTime Get Year ^| findstr .`) DO (SET /A "CUR_YEAR=%%a")
SET "MONTH_LIST=JanFebMarAprMayJunJulAugSepOctNovDec"
SET /A "FISCAL_YEAR=%CUR_YEAR%"
FOR /L %%i IN (0, 1, 17) DO (
SET /A "MONTH_INDEX=(!CUR_MONTH! + %%i) %% 12"
SET /A "MONTH_OFFSET=!MONTH_INDEX! * 3"
SET /A "VAR_INDEX=%%i + 1"
CALL SET "MONTH!VAR_INDEX!=%%MONTH_LIST:~!MONTH_OFFSET!,3%%"
IF !MONTH_INDEX! EQU 3 (SET /A "FISCAL_YEAR=!FISCAL_YEAR! + 1")
SET "YEAR!VAR_INDEX!=FY!FISCAL_YEAR:~2,2!"
)
SET "MONTH_LIST="
SET "MONTH_INDEX="
SET "MONTH_OFFSET="
SET MONTH
SET YEAR
EXIT /B 0
Und der Ausgang ist:
MONTH1=Aug
MONTH10=May
MONTH11=Jun
MONTH12=Jul
MONTH13=Aug
MONTH14=Sep
MONTH15=Oct
MONTH16=Nov
MONTH17=Dec
MONTH18=Jan
MONTH2=Sep
MONTH3=Oct
MONTH4=Nov
MONTH5=Dec
MONTH6=Jan
MONTH7=Feb
MONTH8=Mar
MONTH9=Apr
YEAR1=FY17
YEAR10=FY17
YEAR11=FY17
YEAR12=FY17
YEAR13=FY18
YEAR14=FY18
YEAR15=FY18
YEAR16=FY18
YEAR17=FY18
YEAR18=FY18
YEAR2=FY17
YEAR3=FY17
YEAR4=FY17
YEAR5=FY17
YEAR6=FY17
YEAR7=FY17
YEAR8=FY17
YEAR9=FY17
Ich bin mir nicht ganz sicher was du willst. Das Ergebnis des Frage-Beispiels zeigt, dass sich das Jahr für "YEAR7 = FY17" für Januar ändert. Wenn Sie möchten, dass es im April startet, versuchen Sie 'SET/A" CUR_MONTH = 3 "'. – lit
Vielleicht habe ich herausgefunden, was Sie wollten. Möchten Sie, dass das GESCHÄFTSJAHR APR-MAR ist? Bitte überprüfen Sie die Ergebnisse erneut. – lit
Ok, @ cec4111. Ich denke, ich habe fast alles für dich getan, was ich nicht tun sollte. – lit
- 1. Update-Spalte basierend auf Sysdate
- 2. Ereignisse basierend auf sysdate
- 3. sysdate Oracle Basierend auf Tag laufen
- 4. Filterdaten basierend auf Tag, Woche und Monat
- 5. SQL - Trend basierend auf Verwendung und Monat
- 6. Erstellen von Gruppen basierend auf dem Zeitraum
- 7. zuweisen Variablen auf ein Array
- 8. Öffnen Sie den gesamten Kalender basierend auf ausgewählten Monat
- 9. Javascript "Variable Variablen": Wie man Variable basierend auf einer anderen Variablen zuweisen?
- 10. berechnetes Feld Basierend auf entsprechende Zeile Monat
- 11. Fehlende Variablenwerte basierend auf Verteilung zuweisen SAS
- 12. Mehrere Variablen in SPSS rekodieren und neue Werte basierend auf ihren früheren Namen zuweisen
- 13. verschiedene CSS-Klassen zuweisen basierend auf ID
- 14. Verarbeiten von Objekten und Zuweisen von Variablen
- 15. JSON_QUERY: Pfadausdruck basierend auf Variablen?
- 16. SAS: Seriennummer zuweisen basierend auf der Gruppe
- 17. Suche basierend auf URL-Variablen
- 18. Kombinationen basierend auf 2 Variablen
- 19. Suche basierend auf URL Variablen
- 20. Suche + - Tag und Monat Bereich in den letzten Jahren basierend auf dem heutigen Datum
- 21. Den Mittelwert eines Wertes basierend auf mehreren Variablen finden
- 22. Django Templates: Variablen vergleichen und neue Variablen zuweisen
- 23. Zugriff auf den Variablen-/Komponentennamen nach dem Zuweisen einer neuen Variablen
- 24. Bewertung basierend auf Prozentbereich in Funktion zuweisen in R
- 25. Oracle SYSDATE Eingabedatentyp
- 26. Pyephem - Variablen nicht richtig zuweisen?
- 27. Mehrere Variablen in Haskell zuweisen
- 28. Wie den zurückgegebenen Wert eines Versprechens einer Variablen zuweisen?
- 29. SYSDATE - 1 Fehler auf PL/SQL-Funktion
- 30. Wert einer Variablen basierend auf Werten in mehreren anderen Spalten zuweisen (Alternative zu ifelse)
Bitte die ursprüngliche Frage zurückstellen. – lit