-3

Вы можете помочь мне с моим кодом, он только открывает 1 файл в моей папке, но как? эта папка содержит 8 файлов .. может кто-нибудь помочь мне, я новичок в пакетном написании сценариев спасибо

@echo off
setlocal enabledelayedexpansion

:: Extract date fields - language dependent
for /f "tokens=1-4 delims=/-. " %%i in ('date /t') do (
        set v1=%%i& set v2=%%j& set v3=%%k
        if "%%i:~0,1%%" gtr "9" (set v1=%%j& set v2=%%k& set v3=%%l)

        for /f "skip=1 tokens=2-4 delims=(-)" %%m in ('echo.^|date') do (
            set %%m=!v1!& set %%n=!v2!& set %%o=!v3!
    )
)
:: Final set for language independency (English and Portuguese - maybe works for Spanish and French)
set year=%yy%%aa%
set month=%mm%
set day=%dd%
set a=2
set /a c=%dd%+%a%
set var=00%c%
set var=%var:~-2%
:: Testing
echo Year:[%year%] - month:[%month%] - day:[%var%]
start "" EXCEL.exe "\\mwcfs\DC Duty Files\SAP PROCESSING\OSB DOWNLOAD\FOR DOWNLOAD\%year%\%month% December %year%\Day %var%\*.xlsx"
endlocal
pause

1 ответ1

0

Вы можете использовать команду FOR для перебора всех файлов в этом каталоге, а затем использовать Excel, чтобы открыть каждый из них. Я использую команду PUSHD, чтобы временно изменить рабочий каталог, где находятся файлы. Команда POPD возвращает рабочий каталог к предыдущему каталогу.

PUSHD "\\mwcfs\DC Duty Files\SAP PROCESSING\OSB DOWNLOAD\FOR DOWNLOAD\%year%\%month% December %year%\Day %var%\"
for %%G in (*.xlsx) do start "" excel.exe "%%~G"
POPD

Вот лучший способ получить дату и время в формате ГГГГММДДччммсс

REM Get date and time in YYYYMMDDhhmmss format
for /f "tokens=2 delims==." %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"

Это будет выводить 20171214150615. Затем вы можете использовать команду set и подстроки для создания отдельных переменных для каждого сегмента даты и времени.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .