Почему Вы не можете ввести 'C:folder\subfolder' в поле Run?

Я споткнулся через эти очевидные несоответствия давно, но никогда не приходил к приемлемому объяснению о том, как все это работало. Все они могут быть введены в поле Start> Run на Windows XP.

  1. C:folder (без обратной косой черты) работы.

  2. C:Documents and Settings\<username> работы.

  3. Все же, почему не делает C:folder\subfolder работа?

  4. Отметьте это C:folder\..\folder\subfolder действительно работает, когда это, кажется, логически эквивалентно.

Я нашел это, но это дает объяснение того, почему это должно работать... http://en.wikipedia.org/wiki/Path_ (вычисляя) #MS-DOS/Microsoft_Windows_style

1
задан 28.09.2009, 18:27

3 ответа

Я просто протестировал его, и это хорошо работало. Самой большой вещью, которую необходимо проверить, является проводник текущего каталога, использует. Это должен быть Ваш корневой каталог (в моем случае здесь на работе, это - H:).

Для C:folder\subfolder синтаксис для работы, folder должен находиться под текущим рабочим каталогом для проводника.

В моем случае я имею H:\tests, H:\tests\200930, и H:\tests\200940 и выполнение

H:tests\200940

работавший как ожидалось.

Я предполагаю, что необходимо удостовериться это subfolder есть ли и это folder\subfolder находится под Вашим рабочим каталогом для проводника.

Можно просмотреть текущий каталог для проводника с помощью инструмента Process Explorer от Sysinternals. После того как Вы запускаете Проводник Процесса, находите Explorer.exe, двойным щелчком по нему и смотрите на текущий каталог.

Можно на самом деле подтвердить это поведение сами при помощи командной строки и попытки следующего (примечание, Вам будут нужны по крайней мере два диска протестировать это),

H:\> dir
...
Directory of H:\
2009-08-26  09:13    <DIR>          Tests
...
H:\> cd Tests
H:\Tests> c:
C:\> dir H:
...
Directory of H:\Tests
2009-08-26  09:13    <DIR>          200930
2009-08-26  09:24    <DIR>          200940
...
C:\> dir H:200940
...
Directory of H:\Tests\200940
...
C:\> cd Windows
C:\Windows> H:
H:\Tests> dir C:System32
...
Directory of C:\WINDOWS\System32
...

( ... данные сокращения, которые не релевантны),

Поскольку Вы видите, что drive:directory синтаксис очень относится к текущему рабочему каталогу каждого диска. В случае проводника это уверено в текущем рабочем каталоге для Вашего пользователя и корня любого диска.

Таким образом, в то время как мой корневой каталог H:\ Я могу использовать H:directory синтаксис для получения до любой папки в соответствии с моим корневым каталогом, но если я использую C:directory Я ограничен корнем того диска.

7
ответ дан 12.12.2019, 07:45

Правильный синтаксис является C:\folder\subfolder, отметьте обратную косую черту после C: Мое предположение - то, что существует некоторая сумма допуска на имя c:folder, но что это не работает полностью, ведя к несоответствиям, которые Вы отмечаете.

2
ответ дан 12.12.2019, 07:45

Различие между путем, который работает и тот, который не является, находится в факте на имя существуют пробелы. Если необходимо было поставить полное имя (без обратной косой черты после двоеточия) в кавычках и попытаться открыть его, Вы получите ту же ошибку как с папками, которые не содержат пробелы.

Для непосредственно вводной папки это работает оба пути для открытия пути, который содержит подпапку, которую это не делает.

Таким образом, например, это будет работать (если папки будут существовать, конечно):

  • c:folder с длинным name\subfolder
  • c:folder-with-a-long-name-without-spaces

в то время как это не будет:

  • c:folder-with-a-long-name-without-spaces\subfolder
  • "c:folder с длинным name\subfolder"

Я искал объяснение, но до сих пор не удался найти то.

1
ответ дан 12.12.2019, 07:45

Теги

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