Board logo

标题: 奇怪的问题??大家试试看 什么原因呢? [打印本页]

作者: elitezhou     时间: 2009-3-15 10:35    标题: 奇怪的问题??大家试试看 什么原因呢?
将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⊙)…

作者: yishanju     时间: 2009-3-15 16:15
把代码后面的空格去了再试试

作者: radem     时间: 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!"
就不怕后面有空格了

作者: radem     时间: 2009-3-16 11:40
对比:
code 1
@echo off
set n="ggg"
echo,ddt>%n%.txt

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


看看差别有多大<img src="images/smilies/face-raspberry.png" align="absmiddle" border="0">

作者: elitezhou     时间: 2009-3-17 01:04
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