This is my script. I tried many ways, but can't escape % symbol.
@ECHO off
SETLOCAL DisableDELAYEDEXPANSION
CHCP 65001 >NUL
:start
set Input="C:\Transcode\ABC! code's 30% Special"
set Output="C:\Batch Script\DST&2"
REM set /p Input="Enter source folder link: "
REM set /p Output="Enter destination folder link: "
set "SRC=%Input:"=%"
set "DST=%Output:"=%"
FOR /F "delims=" %%a IN ('DIR /b /s /a-d "%SRC%"') DO (
call :mklink "%%a" "%%~na" "%%~xa" "%DST%"
)
Goto :EOF
:mklink
Set "FILENAME=%~2"
Set "FILENAME=%FILENAME: =_%"
Set "FILENAME=%FILENAME:-=_%"
for %%b in ("%FILENAME:_=" "%") do (
Echo %%b | FindStr /IRC:"wjpg" >Nul && (
IF exist "%~4\ABC\%%~b%~3" del "%~4\ABC\%%~b%~3"
ECHO mklink "%~4\ABC\%%~b%~3" "%~1" >> "%~4\log.txt" 2>&1
mklink "%~4\ABC\%%~b%~3" "%~1"
)
)
Goto :EOF
Attention: path can not change (don't add or remove character)