Я хочу переместить файлы в соответствии с именами папок.
1. Некоторые имена папок были записаны в b2.txt.В моем b2.txt каждая строка содержит одно, два или три слова, связанные пробелом или "-".Например:
transfer print
anti-foamer
insect
fibre reinforced plastic
2.Мои файлы находятся в "E: \ JP-XIN \".
3.На диске E должно существовать одно (только одно) имя папкисостоящий из одной строки в b2.txt.
Мой вопрос заключается в том, как задать каждую строку в b2.txt точно как переменную.
В следующем коде "%% k" является файломимя, полученное при поиске, "%% l" - это путь к папке, полученной при поиске.Код не работал правильно.
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%a in (b2.txt) do (
set VAR=%%a
for /f "delims=" %%k in ('dir /s/b/a-d E:\JP-XIN\*.pdf E:\JP-XIN\*.txt ^| findstr /i /c:"!VAR!"') do (
for /f "delims=" %%l in ('dir /s/b/a:d-h E:\ ^| findstr /i /c:"!VAR!"') do (
if not "%%l"=="" move "%%k" "%%~fsl"
)))
pause