新手 - 我正在尝试创建一个.bat
文件,该文件将重命名子文件夹中的所有文件(我希望它的行为类似于%folder%
而不是使用实际位置),添加一个前缀,比如ABS_ 123
,以及今天的日期_20170818
现在我有了这个(伪):
@echo off
%subfolder%
for (*) do ren "%%a" "pre %%a"
for (*) do ren "%%~a" "%%~na ("_%%DATE)%%~xa"
答案 0 :(得分:0)
我同意Compos和Mofis的评论,但IMO在这里提出了很多过时的变种:
%date%
和%time%
变量或wmic
变体的笨拙。使用/解析PowerShell会有一点延迟,但因为它通常只在脚本中使用一次并不重要。
您可以插入日偏移量以获取不同的日期。
@Echo off
For /f %%Y in (
'powershell -NoP -C "(get-date).AddDays(-1).ToString(\"yyyy-MM-dd\")"'
) Do Set Yesterday=%%Y
Echo Yesterday = %Yesterday%
For /F %%D in (
'powershell -NoP -C "(get-date).AddDays(0).ToString(\"MM\/dd\/yyyy\")"'
) Do Set "DT=%%D"
Echo Today mdy = %DT%
For /f %%T in (
'powershell -NoP -C "(get-date).AddDays(+1).ToString(\"yyyy\/MM\/dd\")"'
) Do Set Tomorrow=%%T
Echo Tomorrow = %Tomorrow%
For /f %%o in (
'powershell -NoP -C "(get-date).AddDays(0).ToString(\"o\")"'
) Do Set ISO8601=%%o
Echo ISO8601 = %ISO8601%
For /f "delims=" %%U in (
'powershell -NoP -C "(get-date).AddDays(0).ToString(\"U\")"'
) Do Set UTC=%%U
Echo UTC = %UTC%
For /f "delims=" %%F in (
'powershell -NoP -C "(get-date).AddDays(0).ToString(\"F\")"'
) Do Set FullDT=%%F
Echo FullDT = %FullDT%
我的德语区域设置系统上的输出,日/月名称来自您的语言区域。
Yesterday = 2017-08-17
Today mdy = 08/18/2017
Tomorrow = 2017/08/19
ISO8601 = 2017-08-18T17:06:46.1050969+02:00
UTC = Freitag, 18. August 2017 15:06:46
FullDT = Freitag, 18. August 2017 17:06:46
有关更多格式说明符,请参阅this link