Посмотрите описание:
for /?
Ваш случай - это for /f - построчно читает файл и разбивает его на лексемы.
Например:
for /f "usebackq tokens=1,2 delims= -" %%a in ("%Src%\*.txt") do (
echo.%%a = %%b
)
На счет set, могу добавить к ответу
Saboteur еще такой момент - чтоб пробелы, случайно попавшие в конец строки, не присваивались переменной нужно команду давать в таком виде:
set "Src=D:\tmp"
Ваша задача нормально решается на cmd, поэтому можно не искать другой вариант.
На счет других вариантов - из коробки в винде присутствуют, кроме cmd: PowerShell, JavaScript, VBScript