Установить переменную внутри цикла, используя пакетный файл - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу перебрать все файлы и получить дату из каждого имени файла в папке C:\data.

Предположим, у нас есть два файла в папке data

abc_CDK_KPMG_11222018.txt
mgk_CDK_KPMG_10222018.txt

Я написал скрипт:

FOR /R  C:\data\ %K in (*.txt) do (
set fileName=%~nK
set fileName=%fileName:~-8%
echo.%date2%
)

Я получил имя файла и дату из приведенного выше скрипта, но как мне получить датуиз обоих файлов?

1 Ответ

0 голосов
/ 23 ноября 2018

Вам нужно enable delayedexpansion.См. set /? и setlocal /? из cmdline.

Во-вторых, вы установили filename, но echo %date2% Я предполагаю, что вы хотели это:

@echo off
setlocal enabledelayedexpansion
FOR /R "C:\data\" %K in (*.txt) do (
 set fileName=%~nK
 set fileName=!fileName:~-8!
 echo !filename!
 )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...