【问题标题】:what does this function inside .bat file do?.bat 文件中的这个函数有什么作用?
【发布时间】:2022-11-03 16:41:10
【问题描述】:
@ECHO OFF

call:genname build_logs/FRAS
set fras_logname=%newname%.log

python setup.py build >> %fras_logname%

:::::::::::::::::: FUNCTION ::::::::::::::::::::::::
:genname
    set d1=%date:~-4,4%
    set d2=%date:~-10,2%
    set d3=%date:~-7,2%
    set t1=%time:~0,2%
    ::if "%t1:~0,1%" equ " " set t1=0%t1:~1,1%
    set t1=%t1: =0%
    set t2=%time:~3,2%
    set t3=%time:~6,2%
    set filename=%~1
    set newname=%filename%_%d1%%d2%%d3%_%t1%%t2%%t3%

我想弄清楚这个批处理文件是做什么的?我在想它会创建一个带有日期和时间的日志文件,但是当我尝试运行它时,它会给出这个The system cannot find the path specified. 请帮忙!

【问题讨论】:

  • 这是一个非常糟糕的脚本。 %date% 根据区域设置更改输出,所以永远不要使用它。使用wmic instead
  • 就像 phuclv 说的,这取决于语言环境,但是理论上它将格式 YYYYMMDD_HHMMSS 的日期和时间附加到文件名。有趣的是,>> 将创建一个新文件,如果该文件尚不存在,因此我认为您会收到该错误,因为setup.py 不存在(或者您不在您认为的位置)。
  • 你的结论是正确的。您的脚本的问题似乎是您的目录名中有一个正斜杠,并且您需要一个反斜杠。
  • @phuclv 所以我应该将set %date% 改为``` set wmic os get LocalDateTime /VALUE```?我还没有写这个脚本,我只是被告知在没有文档的情况下工作://
  • @SomethingDark 我知道它正在运行命令python setup.by build >>

标签: batch-file


【解决方案1】:

你应该这样尝试:


@ECHO OFF
Set "FRAS_Folder=%~dp0build_logsFRAS"
If Not Exist "%FRAS_Folder%" MD "%FRAS_Folder%"
Call :Gen_Report_Name fras_logname
echo FileName : "%fras_logname%"
echo Absolute PathName : "%FRAS_Folder%%fras_logname%"
REM Example save the result of this command with a log file into this folder
ipconfig /all > "%FRAS_Folder%%fras_logname%"
pause & exit /b

:::::::::::::::::: FUNCTION :::::::::::::::::::
:Gen_Report_Name <file_with_date to be set>
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set "dt=%%a"
set datestamp=%dt:~0,8%
set timestamp=%dt:~8,6%
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set "stamp=%YYYY%%MM%%DD%_%HH%%Min%%Sec%"
Set "%1=%stamp%.log"
Exit /b
::------------------------------------------------------------------------------------

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-25
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    相关资源
    最近更新 更多