Me sorprende cuántas respuestas aquí son incorrectas . Hacer eco de nada en un archivo llenará el archivo con algo así ECHO is ON, y tratar de hacer eco $nulen un archivo literalmente lo colocará $nulen el archivo. Además, para PowerShell, hacer eco $nullen un archivo en realidad no generará un archivo de 0kb, sino algo codificado como UCS-2 LE BOM, que puede ser complicado si necesita asegurarse de que sus archivos no tengan una marca de orden de bytes.
Después de probar todas las respuestas aquí y hacer referencia a algunas similares, puedo garantizar que funcionarán por consola. Simplemente cambie FileName.FileExtensiona la ruta completa o relativa del archivo que desea touch; Gracias a Keith Russell por la COPY NUL FILE.EXTactualización:
CMD con actualizaciones de fecha y hora
copy NUL FileName.FileExtension
Esto creará un nuevo archivo llamado lo que haya colocado en lugar de FileName.FileExtensionun tamaño de 0 bytes. Si el archivo ya existe, básicamente se copiará en el lugar para actualizar la marca de tiempo. Diría que esto es más una solución alternativa que la funcionalidad 1: 1, touchpero no conozco ninguna herramienta incorporada para CMD que pueda lograr actualizar la marca de tiempo de un archivo sin cambiar ningún otro contenido.
CMD sin actualizaciones de fecha y hora
if not exist FileName.FileExtension copy NUL FileName.FileExtension
Powershell con actualizaciones de fecha y hora
if (!(Test-Path FileName.FileExtension -PathType Leaf)) {New-Item FileName.FileExtension -Type file} else {(ls FileName.FileExtension ).LastWriteTime = Get-Date}
Sí, funcionará en la consola como una línea; no es necesario colocarlo en un archivo de script de PowerShell.
PowerShell sin actualizaciones de fecha y hora
if (!(Test-Path FileName.FileExtension -PathType Leaf)) {New-Item FileName.FileExtension -Type file}
touch. Otra discusión aquí: superuser.com/questions/10426/… y la biblioteca Cygwin es un conjunto de herramientas común de comandos de Unix en Windows.