Существует свойство HTML под названием selectedIndex
, к которому можно получить доступ в элементе select
.
this.selectItem(e.target.value, true, e.target.selectedIndex)
Вы не можете получить доступ к key
, потому что это специальный атрибут, управляемый React.
CP source.log %DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%.log
Но это зависит от локали. Я не уверен, что % DATE%
локализовано или зависит от формата, указанного для короткой даты в Windows.
Это независимый от локали способ извлечь текущую дату из этот ответ , но это зависит от WMIC
и FOR / F
:
FOR /F %%A IN ('WMIC OS GET LocalDateTime ^| FINDSTR \.') DO @SET B=%%A
CP source.log %B:~0,4%-%B:~4,2%-%B:~6,2%.log
предложение используемого Martin с небольшой тонкой настройкой для добавления время штампа к имени файла:
forfiles /p [foldername] /m rsync2.log /c "cmd /c ren @file %DATE:~6,4%%DATE:~3,2%%DATE:~0,2%_%time:~-11,2%-%time:~-8,2%-%time:~-5,2%-@file
В течение 10:17:21 23.10.2019 результат:
20191023_10-17-21-rsync2.log
Может быть, это поможет:
echo off
@prompt set date=$d$_ set time=$t$h$h$h
echo some log >> %date% %time%.log
exit
или
echo off
set v=%date%.log
echo some log >> %v%
Вот решение, не зависящее от локали (скопируйте в файл с именем SetDateTimeComponents.cmd):
@echo off
REM This script taken from the following URL:
REM http://www.winnetmag.com/windowsscripting/article/articleid/9177/windowsscripting_9177.html
REM Create the date and time elements.
for /f "tokens=1-7 delims=:/-, " %%i in ('echo exit^|cmd /q /k"prompt $d $t"') do (
for /f "tokens=2-4 delims=/-,() skip=1" %%a in ('echo.^|date') do (
set dow=%%i
set %%a=%%j
set %%b=%%k
set %%c=%%l
set hh=%%m
set min=%%n
set ss=%%o
)
)
REM Let's see the result.
echo %dow% %yy%-%mm%-%dd% @ %hh%:%min%:%ss%
Я помещаю все свои сценарии .cmd в одну папку (% SCRIPTROOT%); любой сценарий, которому требуются значения даты / времени, вызовет SetDateTimeComponents.cmd, как показано в следующем примере:
setlocal
@echo Initializing...
set SCRIPTROOT=%~dp0
set ERRLOG=C:\Oopsies.err
:: Log start time
call "%SCRIPTROOT%\SetDateTimeComponents.cmd" >nul
@echo === %dow% %yy%-%mm%-%dd% @ %hh%:%min%:%ss% : Start === >> %ERRLOG%
:: Perform some long running action and log errors to ERRLOG.
:: Log end time
call "%SCRIPTROOT%\SetDateTimeComponents.cmd" >nul
@echo === %dow% %yy%-%mm%-%dd% @ %hh%:%min%:%ss% : End === >> %ERRLOG%
Как показывает пример, вы можете вызывать SetDateTimeComponents.cmd всякий раз, когда вам нужно обновить значения даты / времени. Скрытие сценария синтаксического анализа времени в собственном файле SetDateTimeComponents.cmd - хороший способ скрыть уродливые детали и, что более важно, избежать опечаток.
Создать файл с текущей датой в качестве имени файла (например, 2008-11-08.dat)
echo hello > %date%.dat
С текущей датой, но без знака «-» (например, 20081108.dat)
echo hello > %date:-=%.dat
1) Вы можете загрузить GNU coreutils , который поставляется с датой GNU
2) вы можете использовать VBScript , что упрощает манипуляции с датой в Windows:
Set objFS = CreateObject("Scripting.FileSystemObject")
strFolder = "c:\test"
Set objFolder = objFS.GetFolder(strFolder)
current = Now
mth = Month(current)
d = Day(current)
yr = Year(current)
If Len(mth) <2 Then
mth="0"&mth
End If
If Len(d) < 2 Then
d = "0"&d
End If
timestamp=yr & "-" & mth &"-"& d
For Each strFile In objFolder.Files
strFileName = strFile.Name
If InStr(strFileName,"file_name_here") > 0 Then
BaseName = objFS.GetBaseName(strFileName)
Extension = objFS.GetExtensionName(strFileName)
NewName = BaseName & "-" & timestamp & "." & Extension
strFile.Name = NewName
End If
Next
Запустите сценарий как:
c:\test> cscript /nologo myscript.vbs