La mia comprensione è che per ottenere la data da un file passato in una subroutine come argomento, è necessario reimpostare tale argomento come variabile all'interno della subroutine. È corretto? Questo non mi ha fatto, quindi mi chiedo se non capisco completamente cosa sta succedendo. Posso usare l'argomento passato in praticamente qualsiasi altro codice di subroutine eccetto per l'estrazione della data.subroutine di script batch: passaggio di argomenti
set setupEXE=setup.exe
CALL :SUB_CheckCorrectDate %setupEXE%
GOTO EOF
::----------------------------------
:SUB_CheckCorrectDate
set filename=%1%
:: SUCCESSFUL
for %%x in (%filename%) do set FileDate=%%~tx
@For /F "tokens=1-3 delims=-/ " %%A in ('@echo %FileDate%') do @(
Set file_Month=%%A
Set file_Day=%%B
Set file_Year=%%C
)
:: GET ERROR
for %%x in (%1%) do set FileDate=%%~tx
@For /F "tokens=1-3 delims=-/ " %%A in ('@echo %FileDate%') do @(
Set file_Month=%%A
Set file_Day=%%B
Set file_Year=%%C
)
GOTO:EOF
:: ------------------
:EOF
+1, ma la parte '% 1% si riferisce ad una variabile inesistente chiamato 1' è ovviamente sbagliato. Fa riferimento anche a '% 1', quindi viene avviata una nuova espansione percentuale, ma non riesce poiché non vi è una percentuale di chiusura né una cifra per accedere a un parametro. Btw. È impossibile espandere un nome variabile che inizia con una cifra con un'espansione percentuale (all'interno di file batch) – jeb