Мне нужно извлечь дату файла, а затем использовать эту строку как часть имени нового файла. Я пытаюсь решить эту проблему с помощью следующих команд:
Сначала я получаю информацию о файле и перенаправляю вывод во временный файл.
DIR c:/myfolder/thefile.txt >> tmp.txt
Затем я использую FINDSTR, чтобы получить строку, содержащую дату, если существует способ получить только дату, которую я не нашел:
FINDSTR [0-9]*\/[0-9]*\/[0-9] tmp.txt
Выход:
10/04/2012 07:55 66,029 thefile.txt
Теперь я хочу установить этот результат в переменную:
SET vartmp=FINDSTR [0-9]*\/[0-9]*\/[0-9] tmp.txt
Кажется, это сработало, потому что когда я положил% vartmp% возвращает результат:
10/04/2012 07:55 66,029 thefile.txt
Но когда я пытаюсь извлечь часть vartmp, начинаются проблемы:
ECHO %vartmp:~0,2%
Он возвращает мне строку "FI", когда я ожидал "10", кажется, что vartmp сохраняет выражение, а не результат выражения, я пытаюсь присвоить результат выражения другому tempvar, а затем извлечь подстроку Темпвар, но ничего не изменилось.