Script BAT renomer un fichier en ajoutant automatiquement le nom d'hote dans le nom du fichier
7 réponses
Guillaume
Bonjour ,
J'aimerai à l'aide d'un script CMD renommer un fichier afin que son
nouveau nom devienne son nom actuel concaténé avec le résultat de la
commande "hostname".
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques Barathon [MS]
"Guillaume" wrote in message news:%
Bonjour ,
J'aimerai à l'aide d'un script CMD renommer un fichier afin que son nouveau nom devienne son nom actuel concaténé avec le résultat de la commande "hostname".
J'ai une solution simple pour ajouter le résultat de la commande en tête du nom de ton fichier:
set oldname=test.txt for /f "usebackq" %%h in (`hostname`) do set host=%%h set newname=%host%%fichier%
Si le nom d'hôte est "monpc", la variable newname contiendra alors "monpctest.txt".
Pour ajouter le résultat à la fin du nom, il faut pouvoir découper le nom de manière à insérer le "hostname" avant l'extension. Il doit exister des méthodes natives en batch pour faire un tel découpage, mais là un gourou batch saura mieux répondre. La tâche peut être plus ou moins complexe selon que tu connais ou non l'extension à l'avance, ou que tu sais si elle aura toujours la même taille ou non, etc.
Jacques
"Guillaume" <inbox.glaunais@gmail.com> wrote in message
news:%23Rq4sOrLIHA.536@TK2MSFTNGP06.phx.gbl...
Bonjour ,
J'aimerai à l'aide d'un script CMD renommer un fichier afin que son
nouveau nom devienne son nom actuel concaténé avec le résultat de la
commande "hostname".
J'ai une solution simple pour ajouter le résultat de la commande en tête du
nom de ton fichier:
set oldname=test.txt
for /f "usebackq" %%h in (`hostname`) do set host=%%h
set newname=%host%%fichier%
Si le nom d'hôte est "monpc", la variable newname contiendra alors
"monpctest.txt".
Pour ajouter le résultat à la fin du nom, il faut pouvoir découper le nom de
manière à insérer le "hostname" avant l'extension. Il doit exister des
méthodes natives en batch pour faire un tel découpage, mais là un gourou
batch saura mieux répondre. La tâche peut être plus ou moins complexe selon
que tu connais ou non l'extension à l'avance, ou que tu sais si elle aura
toujours la même taille ou non, etc.
J'aimerai à l'aide d'un script CMD renommer un fichier afin que son nouveau nom devienne son nom actuel concaténé avec le résultat de la commande "hostname".
J'ai une solution simple pour ajouter le résultat de la commande en tête du nom de ton fichier:
set oldname=test.txt for /f "usebackq" %%h in (`hostname`) do set host=%%h set newname=%host%%fichier%
Si le nom d'hôte est "monpc", la variable newname contiendra alors "monpctest.txt".
Pour ajouter le résultat à la fin du nom, il faut pouvoir découper le nom de manière à insérer le "hostname" avant l'extension. Il doit exister des méthodes natives en batch pour faire un tel découpage, mais là un gourou batch saura mieux répondre. La tâche peut être plus ou moins complexe selon que tu connais ou non l'extension à l'avance, ou que tu sais si elle aura toujours la même taille ou non, etc.
Jacques
Méta-MCI \(MVP\)
Bonjour, Jacques !
Le 'hostname' est recopié dans la variable d'environnement COMPUTERNAME. Du coup, on peut l'utiliser directement dans un batch :
ren %1 %COMPUTERNAME%%1
Usage : batfile fichierarenommer
Il reste le problème des guillemets (pour les noms de fichiers contenant des espaces). Mais, Windows s'en sort étonnamment bien. Exemple : fichier : aaa.txt nom_ordinateur : MONORDI
ren "aaa.txt" MONORDI"aaa.txt" donne : MONORDIaaa.txt
Pas mal, Windows, non ?
@+
MCI
Bonjour, Jacques !
Le 'hostname' est recopié dans la variable d'environnement
COMPUTERNAME.
Du coup, on peut l'utiliser directement dans un batch :
ren %1 %COMPUTERNAME%%1
Usage : batfile fichierarenommer
Il reste le problème des guillemets (pour les noms de fichiers contenant
des espaces). Mais, Windows s'en sort étonnamment bien. Exemple :
fichier : aaa.txt
nom_ordinateur : MONORDI
ren "aaa.txt" MONORDI"aaa.txt" donne : MONORDIaaa.txt
Le 'hostname' est recopié dans la variable d'environnement COMPUTERNAME. Du coup, on peut l'utiliser directement dans un batch :
ren %1 %COMPUTERNAME%%1
Usage : batfile fichierarenommer
Il reste le problème des guillemets (pour les noms de fichiers contenant des espaces). Mais, Windows s'en sort étonnamment bien. Exemple : fichier : aaa.txt nom_ordinateur : MONORDI
ren "aaa.txt" MONORDI"aaa.txt" donne : MONORDIaaa.txt
Pas mal, Windows, non ?
@+
MCI
Jacques Barathon [MS]
"Méta-MCI (MVP)" wrote in message news:47493f30$0$27390$
Bonjour, Jacques !
Le 'hostname' est recopié dans la variable d'environnement COMPUTERNAME.
En effet, j'avais totalement oublié cette variable d'environnement! Bien vu. Cela dit, la technique initiale garde tout son intérêt pour la récupération de la sortie de n'importe quelle commande, pour laquelle la solution d'une variable d'environnement n'existerait pas.
Il reste le problème des guillemets (pour les noms de fichiers contenant des espaces). Mais, Windows s'en sort étonnamment bien. Exemple : fichier : aaa.txt nom_ordinateur : MONORDI
ren "aaa.txt" MONORDI"aaa.txt" donne : MONORDIaaa.txt
Pas mal, Windows, non ?
Oui, pas mal. :-)
Et pour l'insertion du COMPUTERNAME entre le nom et l'extension, tu as une solution? (sans passer par Python, VBScript ou PowerShell, bien sûr :-))
Jacques
"Méta-MCI (MVP)" <enleverlesX.XmcX@XmclaveauX.com> wrote in message
news:47493f30$0$27390$ba4acef3@news.orange.fr...
Bonjour, Jacques !
Le 'hostname' est recopié dans la variable d'environnement COMPUTERNAME.
En effet, j'avais totalement oublié cette variable d'environnement! Bien vu.
Cela dit, la technique initiale garde tout son intérêt pour la récupération
de la sortie de n'importe quelle commande, pour laquelle la solution d'une
variable d'environnement n'existerait pas.
Il reste le problème des guillemets (pour les noms de fichiers contenant
des espaces). Mais, Windows s'en sort étonnamment bien. Exemple :
fichier : aaa.txt
nom_ordinateur : MONORDI
ren "aaa.txt" MONORDI"aaa.txt" donne : MONORDIaaa.txt
Pas mal, Windows, non ?
Oui, pas mal. :-)
Et pour l'insertion du COMPUTERNAME entre le nom et l'extension, tu as une
solution? (sans passer par Python, VBScript ou PowerShell, bien sûr :-))
"Méta-MCI (MVP)" wrote in message news:47493f30$0$27390$
Bonjour, Jacques !
Le 'hostname' est recopié dans la variable d'environnement COMPUTERNAME.
En effet, j'avais totalement oublié cette variable d'environnement! Bien vu. Cela dit, la technique initiale garde tout son intérêt pour la récupération de la sortie de n'importe quelle commande, pour laquelle la solution d'une variable d'environnement n'existerait pas.
Il reste le problème des guillemets (pour les noms de fichiers contenant des espaces). Mais, Windows s'en sort étonnamment bien. Exemple : fichier : aaa.txt nom_ordinateur : MONORDI
ren "aaa.txt" MONORDI"aaa.txt" donne : MONORDIaaa.txt
Pas mal, Windows, non ?
Oui, pas mal. :-)
Et pour l'insertion du COMPUTERNAME entre le nom et l'extension, tu as une solution? (sans passer par Python, VBScript ou PowerShell, bien sûr :-))
Jacques
Fred
Dans : news:, Jacques Barathon [MS] disait :
Hello,
Et pour l'insertion du COMPUTERNAME entre le nom et l'extension, tu as une solution? (sans passer par Python, VBScript ou PowerShell, bien sûr :-))
En supposant que le nom de fichier soit passé en paramètre d'un script on peut utiliser ceci : ECHO %~n1%COMPUTERNAME%%~x1
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Dans : news:efJQ0Y2LIHA.3516@TK2MSFTNGP02.phx.gbl,
Jacques Barathon [MS] disait :
Hello,
Et pour l'insertion du COMPUTERNAME entre le nom et l'extension, tu
as une solution? (sans passer par Python, VBScript ou PowerShell,
bien sûr :-))
En supposant que le nom de fichier soit passé en paramètre d'un script
on peut utiliser ceci :
ECHO %~n1%COMPUTERNAME%%~x1
--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
"Méta-MCI (MVP)" a écrit dans le message de news:47493f30$0$27390$ | Bonjour, Jacques !
Bonjour,
| Le 'hostname' est recopié dans la variable d'environnement | COMPUTERNAME.
La variable d'environnement COMPUTERNAME contient le nom NETBIOS (15 caractères maxi) de l'ordinateur tandis que l'outil hostname.exe retourne le nom de hôte DNS (63 caractères maxi) de l'ordinateur. Donc si la longueur du nom de hôte DNS est inférieure ou égale à 15 caractères alors la variable d'environnement COMPUTERNAME contiendra en effet le nom de hôte. En revanche, si la longueur du nom de hôte DNS est supérieure à 15 caractères alors la variable d'environnement COMPUTERNAME contiendra le nom de hôte DNS tronqué à 15 caractères. Par exemple :
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
"Méta-MCI (MVP)" <enleverlesX.XmcX@XmclaveauX.com> a écrit dans le
message de
news:47493f30$0$27390$ba4acef3@news.orange.fr
| Bonjour, Jacques !
Bonjour,
| Le 'hostname' est recopié dans la variable d'environnement
| COMPUTERNAME.
La variable d'environnement COMPUTERNAME contient le nom NETBIOS (15
caractères maxi) de l'ordinateur tandis que l'outil hostname.exe
retourne le nom de hôte DNS (63 caractères maxi) de l'ordinateur. Donc
si la longueur du nom de hôte DNS est inférieure ou égale à 15
caractères alors la variable d'environnement COMPUTERNAME contiendra en
effet le nom de hôte. En revanche, si la longueur du nom de hôte DNS est
supérieure à 15 caractères alors la variable d'environnement
COMPUTERNAME contiendra le nom de hôte DNS tronqué à 15 caractères. Par
exemple :
"Méta-MCI (MVP)" a écrit dans le message de news:47493f30$0$27390$ | Bonjour, Jacques !
Bonjour,
| Le 'hostname' est recopié dans la variable d'environnement | COMPUTERNAME.
La variable d'environnement COMPUTERNAME contient le nom NETBIOS (15 caractères maxi) de l'ordinateur tandis que l'outil hostname.exe retourne le nom de hôte DNS (63 caractères maxi) de l'ordinateur. Donc si la longueur du nom de hôte DNS est inférieure ou égale à 15 caractères alors la variable d'environnement COMPUTERNAME contiendra en effet le nom de hôte. En revanche, si la longueur du nom de hôte DNS est supérieure à 15 caractères alors la variable d'environnement COMPUTERNAME contiendra le nom de hôte DNS tronqué à 15 caractères. Par exemple :