Я хочу прочитать имя файла в пакетном программировании Windows. Я пытаюсь использовать разные методы, но не удалось, пожалуйста, помогите.
Сценарий приведен ниже.
У меня есть разные файлы в папке, но длина имени файла одинакова для всех файлов.
Э.Г.
1000342578_30062011.PDF
1000342329_30062011.PDF
И я просто хочу сохранить деталь после _
и до .PDF
(например, 30062011
) детали в переменной.
Ниже приведены только попытки, но я не могу пройти.
@echo off
echo.Date : %date%
echo.Year : %date:~10,4%
dir /s /b C:\Users\zeeshando\Desktop\*.txt
for %%x in (c:\temp\*.xls) do echo %%x
lfnfor off
for %%x in (*.*) do echo %%x > filelist.txt
PAUSE
for %i in (C:\Users\zeeshando\Desktop) do
echo %~ni
PAUSE
UPDATE
Мой текущий код, основанный на ответе @Alex K.:
@setlocal enabledelayedexpansion
for %%x in (C:\Hi\*.*) do (
set fn=%%x
set fn=!fn:~22,8!
echo !fn!
call:handler
)
goto:eof
:handler
echo !fn!
copy C:\Hi\*.* E:\!fn!
goto:eof
PAUSE
Но это не копирование файлов. Пожалуйста, проверьте вышеуказанный код.