Per scopi di archiviazione, ho una cartella piena di file chiamati note_1.txt, note_3.txt, note_4.txt, ecc Sto scrivendo uno script per trovare il maggior numero Ntra quei file, e rinominare un nuovo note.txtfile note_N+1.txt.
Sto usando un batch per loop per la prima volta e non riesco a farlo funzionare correttamente. Ho provato a sostituirlo %con !ma non sono sicuro di capire come funziona.
SETLOCAL ENABLEDELAYEDEXPANSION
SET "maxfile=1"
for /f %%i in ('dir /b note_*.txt') do (
SET archivename=%%~ni
SET archivenumber=%archivename:~5%
if %archivenumber% GTR %maxfile% SET /a maxfile=%archivenumber%+1
)
echo %maxfile%
ENDLOCAL
echo !archivenumber!>>log.txtper ogni variabile, quindi controlla il log dopo l'esecuzione. Se riecheggi quelle stesse variabili con i%segni anziché il!e guardi sopra il registro, ora vedrai le differenze. Fammi sapere se posso aiutare a chiarire ulteriormente, ma questo dovrebbe essere tutto ciò che c'è da fare.