@UNIQUE[chemin[,préfixe]] : crée un fichier de longueur nulle avec un nom unique dans le répertoire spécifié, et renvoie son nom complet et son chemin d'accès. Si aucun chemin n' est spécifié, le fichier sera créé dans le répertoire actuel. Le nom du fichier sera compatible avec la FAT, quel que soit le type de disque sur lequel le fichier est créé. Cette fonction permet de créer un fichier temporaire sans écraser un fichier existant.
Le chemin d'accès doit être mis entre guillemets s'il contient des espaces blancs ou des caractères spéciaux .
Si lechemin est entre guillemets, le nom de fichier retourné sera également entre guillemets (si nécessaire).
Si lepréfixe est spécifié, @UNIQUE utilisera les trois premiers caractères comme les trois premiers caractères du nom de fichier unique.
Étant donné que le fichier est créé, si l' option de configuration Protéger le fichier de sortie redirigé est activée, vous devez utiliser la redirection de style > ! pour éviter les erreurs.
Desinvocations rapides, répétées et consécutives de @UNIQUE peuvent parfois renvoyer un nom de fichier non unique (le même nom deux fois, par exemple), en raison d'un bogue de synchronisation de longue date dans Windows. Si vous rencontrez ce problème, vous devrez peut-être utiliser DELAY, DELAY /M ou BEEP (avec une fréquence inférieure à 20 Hz) pour fournir un court délai entre les invocations . Vous pouvez également contourner le problème en effectuant une activité d'E/S sur le disque entre les invocations, car cela peut forcer la création physique du fichier sur le disque avant que @UNIQUE ne soit invoqué à nouveau.
Exemples :
echo %@unique[d:\takecommand28]
D:\takecommand28\UNIE810.tmp
echo %@unique[d:\takecommand28,tc]
D:\takecommand28\tc725F.tmp