使用Batch变量重命名文件不能与其他用户配置文件一起使用

时间:2013-10-25 11:43:19

标签: windows batch-file user-profile

我有一个批处理脚本,它使用变量来重命名文件。我是开发人员,在我的电脑中,脚本正在运行,但在生产服务器上有另一个用户perfil,“重命名”不起作用。我与其他管理员用户进行了探测,但脚本也无法正常工作。我认为这取决于用户perfil中的一些配置,与我的Developer perfil相关,允许它工作,但我不知道可能是什么。

这是我的剧本

  

========================================

     

@echo off   ECHO GET FECHA

     

set ano=%date:~6,4%

     

set mes=%date:~3,2%

     

set dia=%date:~0,2%

     

echo Renombra file1

     

rename file1 STATUS_%ano%_%mes%_%dia%

     

========================================

这是错误

"The syntax of the command is incorrect."

这是我的开发者电脑中我的用户

的正常执行
  

========================================

     

C:\用户\ pquiroza \桌面和GT; renombra

     

获得FECHA

     

Renombra file1

     

C:\ Users \ pquiroza \ Desktop

     

========================================

这是服务器中的错误执行,与我的用户或任何其他用户使用相同的程序

  

========================================

     

C:\用户\ pquiroza \桌面和GT; renombra

     

获得FECHA

     

Renombra file1

     

该命令的语法不正确。

     

C:\用户\ pquiroza \桌面

     

========================================

2 个答案:

答案 0 :(得分:2)

%date:~..%内容可能与语言环境有关,在使用不同的语言环境时可能会返回不同的字符和格式。

我首先尝试引用RENAME的参数,因为它预计源和目标正好有2个参数:rename "file1" "STATUS_%ano%_%mes%_%dia%"

答案 1 :(得分:1)

适用于XP教授或更好:

@ECHO OFF &SETLOCAL
for /f "skip=1delims=." %%a in ('wmic os get localdatetime') do if not defined DateTime set "DateTime=%%a"
ren file1 "STATUS_%DateTime:~0,4%_%DateTime:~4,2%_%DateTime:~6,2%"