Пакетное, читать имя файла в обратном направлении - PullRequest
0 голосов
/ 18 сентября 2018

Я работаю над небольшим скриптом, который перемещает файлы на другую карту, отсортированную по последним 2 символам, теперь моя проблема в том, что файлы всегда выглядят так:

1238184AD
1237135881AD
123477TG

И моя проблема здесь в том, что я могу переместить файлы на правильную карту, если они имеют фиксированную длину, но они не фиксированы. Теперь мой вопрос: могу ли я посчитать имя файла в обратном направлении, чтобы скрипт создал каталог из последних 2 символов.

Вот так выглядит мой текущий скрипт:

@ECHO OFF
setlocal enabledelayedexpansion

set index=~8,2
set moveFrom=C:\Users\**\Desktop\Map\
set moveTo=C:\Users\**\Desktop\Map2\

for /R "%moveFrom%" %%f in (*.txt) do (
    echo %%f
    set "fileName=%%~nf"
    cd %moveTo%
    IF EXIST "!fileName:%index%!" (
        move /-y "%%f" "%moveTo%"!fileName:%index%!"\"
        echo "%%f" moved
    ) ELSE (
        mkdir "!fileName:%index%!"
        move /-y "%%f" "%moveTo%"!fileName:%index%!"\"
        echo "%%f" moved
    )
)

pause
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...