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
看看差别有多大
作者: elitezhou     时间: 2009-3-17 01:04


  Quote:
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