中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 13:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 奇怪的问题??大家试试看 什么原因呢? 查看 694 回复 4
楼 主 奇怪的问题??大家试试看 什么原因呢? 发表于 2009-03-15 10:35 ·  中国 浙江 杭州 电信
贫困用户
积分 -6
发帖 2
注册 2009-03-13 06:33
17年会员
UID 141208
性别 男
状态 离线
将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 发表于 2009-03-15 16:15 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
把代码后面的空格去了再试试
3 发表于 2009-03-16 11:32 ·  中国 广东 韶关 仁化县 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
代码1:
set flname="!a:~0,4!!a:~5,2!!a:~8,2!"
后面有空格
改为:
set "flname=!a:~0,4!!a:~5,2!!a:~8,2!"
就不怕后面有空格了
4 发表于 2009-03-16 11:40 ·  中国 广东 韶关 仁化县 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
对比:
code 1
@echo off
set n="ggg"
echo,ddt>%n%.txt

code 2
@echo off
set "n=ggg"
echo,ddt>%n%.txt


看看差别有多大
5 发表于 2009-03-17 01:04 ·  中国 浙江 杭州 电信
贫困用户
积分 -6
发帖 2
注册 2009-03-13 06:33
17年会员
UID 141208
性别 男
状态 离线
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
论坛跳转: