中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 13:06
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 奇怪的问题??大家试试看 什么原因呢?
可打印版本  693 / 4
第1楼 elitezhou 发表于 2009-03-15 10:35
贫困用户 发帖 2 积分 -6
奇怪的问题??大家试试看 什么原因呢?
将file1文件夹中txt格式文件名改为日期

代码1如下

set FolderPath=E:\test\file1

echo 程序正在运行......
setlocal enabledelayedexpansion
for /r %FolderPath% %%i in (*.doc) do (
set a=%%~ti
set flname="!a:~0,4!!a:~5,2!!a:~8,2!"
ren "%%i" "new_!flname!.doc")
echo.
echo 修改完毕
pause>nul


运行结果为new_20090315 .txt


代码2如下:

set FolderPath=E:\test\file1

echo 程序正在运行......
setlocal enabledelayedexpansion
for /r %FolderPath% %%i in (*.doc) do (
set a=%%~ti
set flname=!a:~0,4!!a:~5,2!!a:~8,2!
ren "%%i" "new_!flname!.doc")
echo.
echo 修改完毕

运行结果为new_20090315.txt

大家发现没有 代码一样 为什么代码1会在日期后面多出一个空格呢?? (⊙o⊙)…
第2楼 yishanju 发表于 2009-03-15 16:15
银牌会员 发帖 1,357 积分 1,488
把代码后面的空格去了再试试
第3楼 radem 发表于 2009-03-16 11:32
高级用户 发帖 383 积分 691
代码1:
set flname="!a:~0,4!!a:~5,2!!a:~8,2!"
后面有空格
改为:
set "flname=!a:~0,4!!a:~5,2!!a:~8,2!"
就不怕后面有空格了
第4楼 radem 发表于 2009-03-16 11:40
高级用户 发帖 383 积分 691
对比:
code 1

code 2


看看差别有多大
第5楼 elitezhou 发表于 2009-03-17 01:04
贫困用户 发帖 2 积分 -6
Originally posted by radem at 2009-3-16 11:32:
代码1:
set flname="!a:~0,4!!a:~5,2!!a:~8,2!"
后面有空格
改为:
set "flname=!a:~0,4!!a:~5,2!!a:~8,2!"
就不怕后面有空格了



THX VM
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023