Як створити пакетний файл для запуску на інших комп'ютерах


9

Коли я створюю пакетний файл на моєму комп'ютері для виконання start c:\Users\________\Whatever\..., вона працює на моїй машині.

Як я можу змусити його працювати на чужій машині, оскільки ім'я користувача не є моїм іменем користувача?

Відповіді:


19

Можна використовувати змінну навколишнього середовища %USERPROFILE%. Це працює з Windows XP і далі, і автоматично визначає літеру диска і шляху до теки профілю поточного користувача.

start %USERPROFILE%\Whatever


9

Ви можете використовувати Змінні середовища Windows . У такому випадку можна було б скористатися %username%, який повертає ім'я поточного користувача.

тобто:

start c:\users\%username%\Whatever

Додатково / альтернативно, якщо ви спеціально націлені на папку профілю користувача ( <drive>:\users\<username> ) можна використовувати %userprofile% змінна, яка повертає повний шлях до поточного профілю користувача, що допомагає при націлюванні на старі операційні системи, такі як XP (де він є) <drive>:\document and settings\<username> за замовчуванням) або там, де папка профілю була переміщена на інший диск / розташування.

тобто:

start %userprofile%\Whatever

Там є кілька інших змінних там, що ви можете знайти корисним у написанні партій, я б порадив перегляді всього списку. :)


2
Я б вподобав, якщо це не було для моїх останніх двох систем Windows, утримуючи профілі користувачів в e:\users і d:\documents and settings...
grawity

@grawity Я намагався зберегти його загальним, показуючи йому список доступних змінних, і не вважаючи, що вони завжди хочуть орієнтуватися на каталог профілю користувача. Але ви можете взяти це, так що я оновив його, щоб покрити також змінну% userprofile%.
Ƭᴇcʜιᴇ007

Чувак, ти просто вкрав мою відповідь: P
Canadian Luke

Не вкрадені, просто розширені на мою відповідь, щоб зробити її більш повною. Знову ж таки, я спробував уникнути конкретного підходу до каталогу профілів користувача, але, мабуть, якщо я не охоплюю також% userprofile%, то це не "правильна" відповідь. ;)
Ƭᴇcʜιᴇ007

Не хвилюйтеся, мова стирчить у коментарі, це означає, що це жарт:)
Canadian Luke
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.