IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

FAQs Windows Discussion :

[Batch] Fonction touch [Fait]


Sujet :

FAQs Windows

  1. #1
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut [Batch] Fonction touch
    Fonction touch, uniquement pour des fichiers existants:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dir test.txt
     copy /b test.txt +,,
    dir test.txt
    From Alex Pinsker

  2. #2
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Salut Laurent Dardenne,

    Bonne idée, c'est presque une "émulation" de la commande "touch",
    mais malheureusement cette technique ne va pas créer un fichier vide si le fichier mis en paramètre n'est pas présent
    donc pour etre plus precis c'est une emulation de :
    car

    va créer un fichier "f.txt" s'il n'existe pas


    je crois aussi qu'on peux faire aussi ceci:

    mais c'est à vérifier..

    d'autre part, on peux aussi utiliser la commande externe NIRCMD pour changer les dates de: "création/modification/dernier acces" d'un fichier

    la syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nircmd setfiletime "fichier" "t.Modifié" "t.création" "t.accès"
    quelques exemples:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nircmd setfiletime "d:\fichier.txt" "now" "now" "now" 
    nircmd setfiletime "d:\fichier.txt" "now" "" "now" 
    nircmd setfiletime "d:\fichier.txt" "now" "" "18-10-2000 12:25:23"
    nircmd setfiletime "d:\fichier.txt" "" "16-07-2005 17:57:11" ""

    ** le format de date est "dd-mm-yyyy hh:nn:ss"
    ** on peux selectionner plusieurs fichiers avec le wildcard "*" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     nircmd setfiletime "d:\fichier*.txt" "" "" ""

    pour télécharger NIRCMD + une aide complète sur toutes ses fonctionnalités

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par I'm_HERE
    Salut Laurent Dardenne,
    Tu peux m'appeler Laurent.
    Citation Envoyé par I'm_HERE
    mais malheureusement cette technique ne va pas créer un fichier vide si le fichier mis en paramètre n'est pas présent
    Oui c'est vrai. Je suis tombé sur cette astuce native et me suis dit que cela pouvait en intéresser d'autres.
    Mon usage de touch se fait le plus souvent sur des fichiers existants.
    Citation Envoyé par I'm_HERE
    je crois aussi qu'on peux faire aussi ceci:
    Cela ne fonctionne pas sous XP sp3, mais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    copy nul test.txt /Y
    Citation Envoyé par I'm_HERE
    d'autre part, on peux aussi utiliser la commande externe NIRCMD
    Quelque fois l'installation d'outil externe est problèmatique, mais de connaître les deux méthodes est appréciable .

  4. #4
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par Laurent Dardenne Voir le message
    Tu peux m'appeler Laurent.
    salut Laurent,

    Citation Envoyé par Laurent Dardenne Voir le message
    Cela ne fonctionne pas sous XP sp3,
    hier j'ai tester avec un SP2, j'ai pas un SP3 pour tester donc...

    Citation Envoyé par Laurent Dardenne Voir le message
    mais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    copy nul test.txt /Y
    malheureusement, pour moi, copy nul test.txt /Y va rafraichir la date de modification et aussi va vider le fichier (tester sous SP2 aussi)

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par I'm_HERE
    malheureusement, pour moi, copy nul test.txt /Y va rafraichir la date de modification et aussi va vider le fichier (tester sous SP2 aussi)
    Oui, je n'ai pas pris le temps d'expliquer que si le fichier n'existe pas, on peut le créer ainsi. Ce qui fait que ce n'est plus une commande mais un script puisqu'il faudrait utiliser,avec un test if sur le fichier ciblé.
    J'ai précisé dans le premier post : uniquement pour des fichiers existants.

  6. #6
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    en autre manière "peu académique" consiste à faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    
    set file=fichier.txt
    type %file% 2>nul >' & move ' %file%

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Laurent Dardenne Voir le message
    Fonction touch, uniquement pour des fichiers existants:
    Voilà le script permettant de gérer AUSSI les fichiers inexistants :
    Code touch.bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
    setlocal enableextensions
    if @%1==@ goto :help
    if not exist %1 (type NUL>%1) else (copy /b %1 +,, > NUL)
    echo %1 touched.
    goto :eof
    
    :help
    echo Usage: %~n0 ^<File^>
    echo Will "touch" the specified file.
    goto :eof
    Plus qu'à sauver ça sous le nom "touch.bat", dans un chemin du PATH, et ça roule...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. [Batch] Lancer Batch fonction d'un username
    Par anthooooony dans le forum Windows
    Réponses: 1
    Dernier message: 08/03/2013, 23h29
  2. [BATCH] Fonctions de comparaison de chaînes?
    Par Jahprend dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 29/06/2008, 17h05
  3. [BATCH] Fonction AT
    Par Jahprend dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 25/06/2008, 09h47
  4. [Batch]Appui touche "entrée" innatendu
    Par Goupsy dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 10/01/2008, 08h40
  5. Réponses: 2
    Dernier message: 12/02/2004, 13h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo