0

我有一个使用变量重命名文件的批处理脚本。我是开发人员,在我的电脑中脚本正在运行,但在另一个用户 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."

这是我的用户在我的开发人员 PC 中的正常执行

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

C:\Users\pquiroza\Desktop>renombra

获取费查

雷诺布拉文件1

C:\用户\pquiroza\桌面

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

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

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

C:\Users\pquiroza\Desktop>renombra

获取费查

雷诺布拉文件1

该命令的语法不正确。

C:\用户\pquiroza\桌面

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

4

2 回答 2

2

这些%date:~..%东西可能与语言环境有关,并且在使用不同的语言环境时可能会返回不同的字符和格式。

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

于 2013-10-25T11:57:35.160 回答
1

这适用于 XP Prof. 或更好:

@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%"
于 2013-10-25T13:42:34.563 回答