我有一个批处理脚本,它使用变量来重命名文件。我是开发人员,在我的电脑中,脚本正在运行,但在生产服务器上有另一个用户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 \桌面
========================================
答案 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%"