Opgelost Map met weeknummer in bestandsnaam met batch file aanmaken

  • Onderwerp starter Onderwerp starter Senso
  • Startdatum Startdatum
Dit topic is als opgelost gemarkeerd

Senso

Inventaris
Lid geworden
13 jun 2016
Berichten
11.083
Besturingssysteem
W10 Pro en W11 Pro
Office versie
Office 2007 H&S en Office 2021 Prof Plus
Hierbij een voorbeeld waar ik niet uitkom. Wie kan/wil dit afmaken?
De bestandsnaam moet dan worden:
Het is nu week 23


PHP:
@Echo Off
for /f %%a in ('powershell.exe get-date -UFormat %%V') do @set weekn=%%a
echo Week %weekn%
rem
for /f %%i in ('powershell "Get-Date -uformat '%%Y%%m%%d'"') do (
    set "Today=%%i"
)

set "Today=%Today:~0,4%-%Today:~4,2%-%Today:~6,2%"
rem echo,%Today%

md "E:\PRIVE\Mijn Geplande taken\Het is nu week %weekn%"
pause
 
Als je Excel op je computer hebt staan kan dit veel eenvoudiger in VBA.
 
Zonder een Excel-bestand te openen? Ik moet het direct kunnen aflezen in Verkenner.
Deze werkt niet goed:
PHP:
@For /F %%I In ('PowerShell Get-Date -UFormat %%V') Do @Echo(%%I
set "weekn=%%I"
)
@Timeout -1
rem echo %weekn%
md "E:\PRIVE\Mijn Geplande taken\Het is nu week %weekn%"
pause
 
Doe het eens zo:
Code:
@For /F %%I In ('PowerShell Get-Date -UFormat %%V') Do set weekn=%%I
@Echo(%weekn% 
)
@Timeout -1
rem echo %weekn%
md "E:\PRIVE\Mijn Geplande taken\Het is nu week %weekn%"
pause
 
Of met als tussenstap een VB scriptje:
Code:
@echo off
echo WScript.Echo datePart("ww", now) > %temp%\week.vbs
for /f "tokens=*" %%W in ('cscript //nologo week.vbs') do set weeknummer=%%W
del %temp%\week.vbs >nul
echo %weeknummer%
md "E:\PRIVE\Mijn Geplande taken\Het is nu week %weeknummer%"
pause
 
Is gelukt. Bedankt voor de hulp.👍
 
misschien een strikvraag, maar dat is niet de ISO-week maar de amerikaanse week veronderstel ik ?
 
Het ISO weeknummer vandaag is 23.
Dat is ook wat de batfile terug geeft.
 
dat batch-filetje, dat werkt toch op zijn amerikaans ? 😇
 
Dat denk ik ook, maar weet het niet zeker.
 
bon , heb je dit jaar anders even geluk, isoweeknummer=weeknummer behalve op zondagen !!!
 
Mijn geplande taken staan in een batch file. Uitvoering op woensdag nieuwe pc en zaterdag oude pc. Uitgevoerd, dan zet ik er het weeknummer van de volgende week achter. Dan is het handig om vooraf te weten/controleren in welke week we zitten.
Er staan veel voorbeelden met de term isoweeknummer op internet maar veel te ingewikkeld en ben je weer twee dagen verder en werkt het nog niet.
 
In een Excel documentje is het simpel met de functie ISO.WEEKNUMMER
 
Pas met excel die batch-file wekelijks aan en laat die dan uitvoeren, ben je van alle gezeik af.
Dan mag je dat ook op zondag doen ... (en volgende jaren).
Of doe het gewoon compleet in VBA, peanuts.
 
Ik hoef de batch file voor het uitvoeren van de werkzaamheden nooit aan te passen. Ik voer nu eerst het aanmaken van de map uit. Kan ik dan zien welke week het is. Dus het loopt nu allemaal 100%. En of die een keer een fout weeknummer geeft is niet zo erg. Het is maar de vraag of ISO.WEEKNUMMER in versie Excel 2007 zit.

VBA begrijp ik niet. Want dat moet toch in een Excel-document en het openen van zo'n document gaat bij mij heel langzaam. Ik heb daar geen geduld en tijd meer voor.
 
In Excel 2007 kan het dit zijn:
PHP:
=WEEKNUMMER(VANDAAG();21)
 
Verwijder dan alle addins in Excel.
 
onderstaande maak huidige week aan, toon een lijstje en zal dan na bevestiging oude weken verwijderen. Extraatje zijn zo toe te voegen. Het is een bestandje van 2 keer niks, dus is zo gestart en die macro kan ook direkt bij het laden uitgevoerd worden ipv na gebruik van de knop.
 

Bijlagen

Fout 1004 in:
MyWeek = Format(WorksheetFunction.WeekNum(Date, 21), "00")
Eigenschap WeekNum van klasse WorksheetFunction kan niet worden opgehaald.
 
Terug
Bovenaan Onderaan