Цитата:
<Артикул>A92/950</Артикул>
<Картинка>2a/2a08886a170211e8f097141877341409</Картинка>
|
sergey14235, Невозможно переименовать файл
"2a08886a170211e8f097141877341409.jpg" в "A92
/950.jpg"
так как символ / в имени недопустим. Что делать?
Код:

@Echo Off
cls
SetLocal
>nul chcp 1251
Set "InFile=Z:\Box_In\*.jpg"
Set "ArtFile=Z:\Box_In\namefile.txt"
Set "KeyArt=Артикул"
FOR /F "usebackq tokens=1,2 delims=<> " %%i IN ("%ArtFile%") DO (
If /I "%KeyArt%"=="%%i" (Set "Art=%%j" &Set /A N=0) Else (
Call :FileArt "%%Art%%" %%j
)
)
FOR %%f IN ("%InFile%") DO (
FOR /F "usebackq tokens=2 delims==" %%e IN (`2^>nul Set %%~nf`) DO (
Ren "%%f" "%%e%%~xf" ||Echo !!! Incorrect file name "%%e%%~xf" not renamed "%%f"
)
)
EndLocal
Pause
Exit /B
:FileArt
Set "FName=%~2"
:Begin1
If Not "%FName%"=="%FName:*/=%" (Set "FName=%FName:*/=%" &GoTo :Begin1)
If %N%==0 Set "%FName%=%~1"
If Not %N%==0 Set "%FName%=%~1_%N%"
Set /A N+=1
Exit /B
Скрипт сохранить в 1251 кодировке, так как в Вашем файле с артикулами именно такая кодировка