保留文件名的前 30 个字符



我有这段代码,它应该将每个文件名的前 30 个字符保留在一个目录中......出于某种原因,此代码不会截断名称。你能帮我理解为什么吗?

cd C:UsersAGLDocumentstest
for /f "delims=" %%a in ('dir /b /a-d *.csv') do (
set "name=%%~na"
set "ext=%%~xa"
setlocal enabledelayedexpansion
set "nname=!name:~0,-30!"
endlocal
)
pause

我相信你尝试过这样做?

@echo off
setlocal enabledelayedexpansion
cd /d "C:UsersAGLDocumentstest"
for /f "delims=" %%a in ('dir /b /a-d *.csv') do (
set "name=%%~na"
ren "%%~a" "!name:~0,16!%%~xa"
)
pause

最新更新