batch-file - 保留文件名的前 30 个字符
问题描述
我有这段代码,它应该为目录中的每个文件名保留前 30 个字符......由于某种原因,这段代码不会截断名称。你能帮我理解为什么吗?
cd C:\Users\AGL\Documents\test
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:\Users\AGL\Documents\test"
for /f "delims=" %%a in ('dir /b /a-d *.csv') do (
set "name=%%~na"
ren "%%~a" "!name:~0,16!%%~xa"
)
pause
推荐阅读
- python - 使用 TouchAction 滚动
- api - VueJS - 方法在第二次点击时触发两次
- python - 理解:TypeError:函数构建代码之外的操作正在传递“图形”张量
- javascript - 为什么要围绕
react-router 中的组件在没有它的情况下可以正常工作吗? - sqlite - 无法使用 knex electron 打开 sqlcipher db 文件
- reactjs - Material-UI:向 TextField 添加图标
- python - 为什么我的模型没有继承 res.users 中的每个字段
- node.js - 连接已关闭节点火鸟
- git - 如何从 Gerrit 的提交中删除提交的列表
- flutter - 我是第一次安装颤振,即使在编辑路径后我也无法在我的所有终端中使用它