Существует ли короткий путь для настольной папки в пакете Windows?

C:\Documents and Settings\Administrator\Desktop

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

5
задан Shay Erlichmen 7 April 2010 в 09:45
поделиться

2 ответа

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

Гибрид пакетной / WSH:

@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 , если вам нужно получить путь к какой-либо другой папке оболочки

1
ответ дан 18 December 2019 в 10:43
поделиться

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

Если вам нужна настоящая папка, в которой находится Desktop, используйте этот код в bach

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

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

8
ответ дан 18 December 2019 в 10:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: