Pregunta cmd: incluya la fecha y la hora en el nombre del archivo


¿Cómo puedo obtener un nombre de archivo YYYY.MM.DD_HH.MM.SS.7z? ¡Debería funcionar con cualquier configuración regional!

La pregunta no es duplicar 7-Zip CMD: Agregue la fecha actual para archivar e incluya solo la última carpeta modificada en el archivo ya que necesito segundos también.

Saludos,


0


origen




Respuestas:


Bueno, aunque esta pregunta es técnicamente una pregunta diferente, la respuesta es esencialmente la misma que la otra pregunta:

Echo "%DATE:~-4%.%DATE:~4,2%.%DATE:~7,2%_%TIME:~0,2%.%TIME:~3,2%.%TIME:~6,2%

Sin embargo, dado que usted especificó que debe funcionar con cualquier configuración regional, esa respuesta no satisface completamente sus necesidades. Hasta donde yo sé, no hay forma de satisfacer sus necesidades de forma nativa dentro de cmd.exe. Recomiendo encarecidamente hacer esto en powershell en lugar de cmd.


3





Mando:

echo "%DATE:~10,4%.%DATE:~7,2%.%DATE:~4,2%_%TIME:~0,2%.%TIME:~3,2%.%TIME:~6,2%.7z"

Salida:

"2012.27.05_22.11.58.7z"

1



Salidas: .01.5 / _22.11.58.7z donde vivo -% Date devuelve la fecha del sistema formateada según la configuración regional, por lo que la posición del día, mes o año no siempre es la misma. - Peter Hahndorf


@echo off

color 4f

modo 40,3

título Renombrar para fecha y hora

::

:: Chunks se reunieron 'aquí y allá' ...

:: Cambio de nombre del lote 1 por 1 w. corto retraso,

:: a la fecha + hora w. milisegundos =>

:: sin sobreescritura.

::

:: Configuración regional de Europa occidental:

:: OKAY. CUALQUIER configuración regional:? .. ​​Poder

:: require 'env. reemplazo de variables

::

: 7ZLOOP

setlocal

establecer "source = 1_7z-orig-files-dir"

establecer "target = 2_tmp"

::

si no existe "% target% \" md "% target%"

si no existe "% source% *. 7z" goto END

para %% F in ("% source% *. 7z") do (

establecer "file = %% ~ nxF"

move / y "%% F" "% target%"> nul

ir a: romper

)

:descanso

::% de tiempo: ~ -2,2% y: conjunto de bucles

:: a 250 evitar la sobrescritura:

::

establecer d =% fecha: ~ -4,4% -% fecha: ~ -7,2% -% fecha: ~ -10,2%

establecer d =% d: = _%

establecer t =% de tiempo: ~ -11,2% -% de tiempo: ~ -8,2% -% de tiempo: ~ -5,2% __% de tiempo: ~ -2,2%

establecer t =% t: = 0%

::

ren "2_tmp *.""% d% __% t%."

:lazo

set / a count = count + 1

si% count% == 250 goto endloop

goto loop

: endloop

::

move / y 2_tmp *. *. \

endlocal

goto 7ZLOOP

:FIN


0



¿Puedes explicar lo de arriba? :) - bertieb