2010-12-01 4 views
0

J'écris un script dans lequel je veux copier un fichier de mon répertoire dans le "Menu Démarrer \ Programmes \ Démarrage" dans l'ordinateur. Mon problème est - ce script est pour plusieurs ordinateurs et pour une raison dans chacun l'administrateur a un nom différent, de sorte que le chemin "C: \ Documents and Settings * administrateur * \ Menu Démarrer \ Programmes \ Démarrage" n'est pas adapté à tous.en utilisant un caractère générique dans un script dans un nom de répertoire

Je cherche un moyen d'utiliser un joker dans le nom du répertoire. quelque chose comme: "C: \ Documents and Settings \ administrateur * \ Menu Démarrer \ Programmes \ Démarrage", afin que mon script fonctionne sur tous les ordinateurs. (le nom est inconnu à l'avance mais je sais qu'il commencera par le mot 'administrateur')

Des idées? Merci,

Tamar

Répondre

1

Il y a probablement des moyens plus intelligents, mais d'une façon serait d'utiliser la commande for. Quelque chose comme ce qui suit:

cd "c:\documents and settings" 
for /D %%f in (administrator*) do copy yourfile "%%f\start menu\programs\startup" 
0

peut être la variable

%userprofile% 

pourrait vous être utile. Il vous donne directement le chemin "C: \ Documents and Settings \ CurrentLoggedUser".

+0

J'essaie d'écrire: fileCopy ("c: \ MyDir \ MyFile",% userprofile% \ start menu \ Programmes \ Démarrage) et ça ne fonctionne pas. Qu'est-ce qui ne va pas? – Tamar

+0

essayez echo% userprofile% pour voir ce que vous obtenez. Peut-être avez-vous besoin d'utiliser des guillemets: "% userprofile% \ menu Démarrer \ Programmes \ Démarrage" – Nicolas

+0

@Tamar:% userprofile% ne sera pas nécessairement disponible de cette façon dans un environnement de script autre que cmd.exe. C'est une variable d'environnement et doit être accessible en tant que tel. Par exemple dans vbscript: 'userprofile = createobject (" WScript.Shell ") .expandenvironmentstrings ("% userprofile% ")' – Sorpigal

Questions connexes