Je suis surpris de voir combien de réponses ici sont tout simplement fausses . Ne rien faire écho dans un fichier remplira le fichier avec quelque chose comme ECHO is ON
, et essayer de faire écho $nul
dans un fichier sera littéralement placé $nul
dans le fichier. De plus, pour PowerShell, l'écho $null
dans un fichier ne créera pas réellement un fichier de 0 Ko, mais quelque chose encodé commeUCS-2 LE BOM
, ce qui peut devenir compliqué si vous devez vous assurer que vos fichiers n'ont pas de marque d'ordre des octets.
Après avoir testé toutes les réponses ici et référencé des réponses similaires, je peux garantir qu'elles fonctionneront par shell de console. Changez simplement FileName.FileExtension
le chemin complet ou relatif du fichier que vous voulez touch
; merci à Keith Russell pour leCOPY NUL FILE.EXT
mise à jour:
CMD avec mises à jour d'horodatage
copy NUL FileName.FileExtension
Cela créera un nouveau fichier nommé tout ce que vous avez placé au lieu d' FileName.FileExtension
une taille de 0 octet. Si le fichier existe déjà, il se copiera essentiellement sur place pour mettre à jour l'horodatage. Je dirais que c'est plus une solution de contournement qu'une fonctionnalité 1: 1 avectouch
mais je ne connais aucun outil intégré pour CMD qui peut accomplir la mise à jour de l'horodatage d'un fichier sans changer aucun de ses autres contenus.
CMD sans mises à jour d'horodatage
if not exist FileName.FileExtension copy NUL FileName.FileExtension
Powershell avec mises à jour d'horodatage
if (!(Test-Path FileName.FileExtension -PathType Leaf)) {New-Item FileName.FileExtension -Type file} else {(ls FileName.FileExtension ).LastWriteTime = Get-Date}
Oui, il fonctionnera dans la console comme une seule ligne; aucune obligation de le placer dans un fichier de script PowerShell.
PowerShell sans mises à jour d'horodatage
if (!(Test-Path FileName.FileExtension -PathType Leaf)) {New-Item FileName.FileExtension -Type file}
touch
. Autre discussion ici: superuser.com/questions/10426/… et la bibliothèque Cygwin est un ensemble d'outils commun des commandes Unix sous Windows.