我正在尝试创建一个 .bat 脚本来复制名称中包含明天日期的文件。此脚本有效,但如果该月少于 31 天,则脚本无法正确给出当前日期。
该文件有巴西葡萄牙语的注释。
有人能帮我吗?
@echo off
chcp 850
setlocal enableextensions disabledelayedexpansion
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
rem Obtenha a data atual em formato MM/DD/YYYY
set "MES=%date:~0,2%"
set "DIA=%date:~3,2%"
set "ANO=%date:~6,4%"
rem Atualize a data para representar o dia seguinte
set /a "DIA=%DIA% + 1"
rem Verifique se o mês ultrapassa 12 (dezembro)
if %DIA% gtr 31 (
set "DIA=1"
set /a "MES=%MES% + 1"
if %MES% gtr 12 (
set "MES=1"
set /a "ANO=%ANO% + 1"
)
)
rem Formate a data para ter dois dígitos
set "DIA=0%DIA%"
rem Construa o nome do arquivo com a nova data
set "NOVA_DATA=VM_%DIA%-%MES%-%ANO%.mp3"
rem Construa os caminhos completos para os diretórios e arquivos
set "ORIGEM=C:\Users\Admin\Dropbox\CLOUD BEACH\Gratuitos - Gospel\PM - Vida Melhor\%NOVA_DATA%"
set "DESTINO=C:\Users\Admin\Dropbox\CLOUD BEACH\AUTODJ\AUTODJ - Gratuitos - Gospel\AutoDJ - Vida Melhor\VM.mp3"
rem Verifique a existência do arquivo com a nova data
if exist "%ORIGEM%" (
copy /b "%ORIGEM%" "%DESTINO%"
) else (
del /s /q "%DESTINO%"
)
rem Exiba uma mensagem na tela
echo.
echo ╔══════════════════════════════╗
echo ║ Favor não forçar o teclado ║
echo ╚══════════════════════════════╝
echo.
echo "Data Atual: %DIA%-%MES%-%ANO%"
我希望“当前日期”变量提供第二天的日期,无论该月有多少天。运行该脚本的PC是Windows 7 64位。