Есть ли сокращение для папки рабочего стола в Windows?

C:\Documents and Settings\Administrator\Desktop

Я не хочу каждый раз набирать выше, чтобы ссылаться на файл на рабочем столе

Ответ 1

Вы можете использовать "%USERPROFILE%\Desktop", но я не знаю, из какой версии Windows он встроен.

Если вам нужна папка реальная, где находится Рабочий стол, то используйте этот код в файле bach

для/F "skip = 2 tokens = 3 * delims =" %% a in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Папки с оболочкой" /v Desktop ') устанавливаются DesktopFolder = "%% A"

Для этого требуется, чтобы reg.exe был доступен (опять же, я не знаю, из какой версии Window он есть), и он установит переменную DesktopFolder в путь к рабочему столу.

Ответ 2

Гибрид Anders может быть немного более простым и удобочитаемым, причем описанный здесь метод гибридный сценарий Тома Лаведаса.

@if (@X)==(@Y) @goto :Dummy @end/* Batch part

@echo off
SETLOCAL ENABLEEXTENSIONS
for /f "delims=" %%x in ('cscript //E:JScript //nologo "%~f0"') do set desk=%%x
echo desktop path is %desk%
goto :EOF

***** Now JScript begins *****/
WScript.Echo(WScript.CreateObject("Shell.Application").Namespace(16).Self.Path);

Ответ 3

Если вам абсолютно необходим пакетный файл, но вы хотите использовать мощь хоста сценариев Windows, вы можете попробовать WSH/пакетный гибрид

Batch/WSH hybrid:

@if (1==1) @if(1==0) @ELSE
@echo off&SETLOCAL ENABLEEXTENSIONS
for /f "delims=" %%x in ('cscript //E:JScript //nologo "%~f0"') do set desk=%%x
echo desktop path is %desk%
@goto :EOF
@end @ELSE
WScript.Echo(WScript.CreateObject("Shell.Application").Namespace(16).Self.Path);
@end

Смотрите ShellSpecialFolderConstants, если вам нужно получить путь к какой-либо другой папке оболочки

Ответ 4

set UserDesktop=%UserProfile%\Desktop

if exist %Public% (
    set SharedDesktop=%Public%\Desktop
) else (
    set SharedDesktop=%AllUsersProfile%\Desktop
)

Итак, теперь вы можете использовать Локальные переменные

%UserDesktop% и %SharedDesktop%

Первый случай SharedDesktop для Vista, а выше - для XP

ps: перед использованием этих переменных вы должны указать "% UserDesktop%", потому что имя пользователя должно иметь пробелы, например... \Bill Gates \... или \Documents and settings \...