Эта команда работала, но если имя файла содержит escape-символы , такие как ! или ^ , это приведет к "Системе не удается найти указанный файл".Так как же мне заставить его работать с escape-символом?
Спасибо
@echo off
setlocal enabledelayedexpansion
for %%A in (*.*) do (
echo file found %%A
for /f "delims=+" %%B in ("%%A") do set fname=%%~nB
for /f "delims=+" %%C in ("%%A") do set fextn=%%~xC
for /f "tokens=1* delims=+" %%D in ("!fname!") do set folname=%%D
echo folder name !folname!
if not exist "!folname!" (
echo Folder !folname! does not exist, creating
md "!folname!"
) else (
echo Folder !folname! exists
)
echo Moving file %%A to folder !folname!
move "%%A" "!folname!"
)
echo Finished
pause