La concaténation de chaînes de caractères et variables dans le lot
Je voudrais créer une dynamique chemin d'accès au fichier dans .bat
fichier. Au moment où le chemin d'accès du fichier ressemble à ceci:
"C:\FolderA\FolderB\FileA.xlsx"
J'aimerais intégrer la date du jour dans le nom du fichier à produire quelque chose comme ça:
/exp:"C:\FolderA\FolderB\FileA " & date() & ".xlsx" /T`
J'ai essayé de créer une variable et enchaînant avec le codage en dur d'une partie, mais il ne fonctionne pas:
set Mydate=!date:~10,4!!date:~7,2!!date:~4,2!
/exp:"C:\FolderA\FolderB\FileA "&%Mydate%&".xlsx" /T
Quelles sont les règles sur la concaténation de caractères et variables et sur les guillemets dans le lot?
Comment déboguer dans le lot à l'aide du bloc-notes?
- Pourquoi êtes-vous à l'aide du DOS?
- Je pense que tu veux dire Invite de Commande Windows (cmd.exe) plutôt que de MS-DOS. Vous ne pouvez pas avoir des extensions de nom de fichier > 3 lettres en MS-DOS de sorte que vous ne pouvez pas créer un fichier appelé something.xlsx par exemple.
- Parce qu'il n'y a pas d'alternative ici
- Hughes: j'ai édité mon post. Nous allons prendre .chauve-souris
- Vous pouvez trouver la réponse à votre question plus rapidement sur le Super-Utilisateur ou le Serveur Faute forums.
- MS-DOS est un système d'exploitation à partir des années 1980; je suppose que vous travaillez avec Windows invite de commande (
cmd.exe
depuis Windows NT)...
Vous devez vous connecter pour publier un commentaire.
?
?
Ce n'est pas
cmd
de la syntaxe. Pour définir une variable, utilisez laset
de commande. Aussi pour concaténer, vous n'avez pas (lire: ne doit pas) utiliser quelque chose comme la concaténation de symboles:(quelle que soit
/exp:
ou/t
est censé faire, et il ne fonctionne pas danscmd
)Pour renommer un fichier, utilisez
ren
(ou la forme longuerename
). Pour obtenir de l'aide pour une commande, utilisercommand /?
par exemplerename /?
batch
est très basique. Le débogage est fait manuellement avececho
etpause
cmd
commandes (quelques-uns d'entre eux ne fonctionnent pas sur toutes les versions de windows), y compris une bonne description de l'utilisation et de la syntaxe. Si vous êtes nouveau à cela, envisager d'apprendre powershell à la place (natif de courant versions de windows). Il est beaucoup plus puissant et a une syntaxe cohérente. Si vous décidez de rester avec lot - bienvenue au pays des maux de tête (bien on s'habitue...).