DEV Community

Cover image for Utilizar 'touch' en PowerShell
Roger
Roger

Posted on • Updated on

Utilizar 'touch' en PowerShell

Si estas tratando de utilizar la PowerShell pero tu vienes de Linux/Unix puede que algunos comandos no los puedas utilizar aquí, como es el caso del comando touch, este comando es para crear archivos dentro de tu terminal, por ejemplo:

touch index.js
Enter fullscreen mode Exit fullscreen mode

Si tu utilizas este comando en tu PowerShell, no va a funcionar, es por eso que hoy te voy a mostrar como poder utilizar este comando en tu PowerShell.

Implementa touch en PowerShell

Primero, debes abrir tu perfil en tu editor de código favorito, en mi caso es nvim.

nvim $PROFILE
Enter fullscreen mode Exit fullscreen mode

Dentro, debemos colocar el siguiente código.

function Touch-File() {
    $fileName = $args[0]
    # Comprobar si el archivo existe
    if (-not(Test-Path $fileName)) {
        # Si no existe, crealo
        New-Item -ItemType File -Name $fileName
    }
    else {
        #Si existe, actualiza el timestamp
        (Get-ChildItem $fileName).LastWriteTime = Get-Date
    }
}

### Creando un alias para touch

# Checar si el alias touch existe
if (-not(Test-Path -Path Alias:Touch)) {
    New-Alias -Name Touch Touch-File -Force
}
Enter fullscreen mode Exit fullscreen mode

Estamos haciendo un par de cosas aquí:

  • Primero, creamos una función llamada Touch-File

  • Dentro de la función, capturamos el primer argumento que se le pasa y lo asignamos a la variable $fileName

  • Después, comprobamos si el archivo existe. Si no es así, creamos un archivo vacío con el nombre de la variable $fileName. Esto se hace usando el cmdlet New-Item, especificando que el objeto que queremos es un archivo y pasando el nombre del archivo

  • Si el archivo existe, actualizamos su hora de última actualización. Esto se hace configurando la propiedad LastWriteTime del archivo

  • Finalmente, después de crear la función, creamos un alias para que podamos usar Touch-File o el Touch más corto. Usamos el parámetro –Force para que en caso de que ya exista el alias, lo re-vinculamos

Ten en cuenta que no puedes establecer el alias desde dentro de la función, ya que parece que no puede crear un alias para una función que no se ha analizado y vinculado por completo.

Para probar esto, debes cerrar y abrir una nueva ventana de PowerShell y pruébalo.

touch index.txt
Enter fullscreen mode Exit fullscreen mode

Ahora deberías ver el nuevo archivo creado.
Prueba

Si quieres ver mas tutoriales como este puedes entrar a mi perfil y ahí encontraras una gran variedad de tips y tutoriales.👉Tips y Tutoriales.

Top comments (0)