返回列表 发帖
本帖最后由 aloha20200628 于 2025-3-16 15:50 编辑

回复 1# a6236130

用 for %%F in (*) do ... 句式就可能出现这类问题,改用以下代码试试...
  1. @echo off &for /f "delims=" %%F in ('dir /b/s/a-d') do if /i "%~f0" neq "%%F" (
  2.    set "nF=%%~nF" &setlocal enabledelayedexpansion &md "!nF:~0,3!" 2>nul
  3.    move /y "%%F" "!nF:~0,3!\" &endlocal)
  4. pause&exit/b
复制代码

TOP

本帖最后由 aloha20200628 于 2025-3-16 19:36 编辑

回复 3# a6236130

试试以下代码, 猜测楼主想要这个效果吧...
  1. @echo off &for /f "delims=" %%F in ('dir /b/s/a-d') do if /i "%~f0" neq "%%F" (
  2.     set "nF=%%~nF" &setlocal enabledelayedexpansion &md "%%~dpF!nF:~0,3!" 2>nul
  3.     move /y "%%F" "%%~dpF!nF:~0,3!\" &endlocal)
  4. pause&exit/b
复制代码
1

评分人数

TOP

返回列表