2015-01-05 1 views
10

Я энтузиаст партийного файла, и не часто я спрашиваю об этом в Интернете. Но я безумно любопытен - Что делает /p в категории set /p=? Я знаю, что / позволяет переключателю, и я уверен, что знаю /a для arithmetic. Я слышал множество слухов, некоторые говорят, что /p для prompt, другие заявляют, что это print. Единственная причина, я немного сомневаюсь, что это prompt происходит потому, что во многих случаях он не запрашивает подсказку, но печатает на экране, такие какЧто означает/p в наборе/p?

<nul set /p=This will not generate a new line 

Но то, что я хочу знать: ли мы на самом деле знаем, что он означает?

Бонусные баллы для тех, кто знает, что все переключатели для ping стоять, таких как -n, -w, -a, -s, и что переключатель /L в for предназначен стоять. (L = номер?)

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

Пожалуйста, обратите внимание, что я уже знаю, что все эти переключатели и префиксы и whatnot означает, я не прошу их смысла или цели. Заранее спасибо.

+4

* Бонусные баллы? * Как? Баунти? – anishsane

+0

Нет, просто сказать, что было бы лучше. Знаешь, я буду тихо кричать «Да, хорошая работа!» – blaizor

+3

Пакетный энтузиаст ... sexy – Monacraft

ответ

8

Для справок в будущем вы можете получить справку по любой команде с помощью переключателя /?, который должен объяснить, какие переключатели делают что.

Согласно экрану set /?, формат set /p является SET /P variable=[promptString], который будет означать, что р в /p является «подсказка». Он просто печатает в вашем примере, потому что <nul проходит в символе nul, который сразу заканчивает приглашение, поэтому он просто действует, как и его печать. Это по-прежнему технически стимулирует ввод данных, оно сразу же получает его.

/L в for /L создает L ist цифр.

От ping /?:

Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] 
      [-r count] [-s count] [[-j host-list] | [-k host-list]] 
      [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name 

Options: 
    -t    Ping the specified host until stopped. 
        To see statistics and continue - type Control-Break; 
        To stop - type Control-C. 
    -a    Resolve addresses to hostnames. 
    -n count  Number of echo requests to send. 
    -l size  Send buffer size. 
    -f    Set Don't Fragment flag in packet (IPv4-only). 
    -i TTL   Time To Live. 
    -v TOS   Type Of Service (IPv4-only. This setting has been deprecated 
        and has no effect on the type of service field in the IP Header). 
    -r count  Record route for count hops (IPv4-only). 
    -s count  Timestamp for count hops (IPv4-only). 
    -j host-list Loose source route along host-list (IPv4-only). 
    -k host-list Strict source route along host-list (IPv4-only). 
    -w timeout  Timeout in milliseconds to wait for each reply. 
    -R    Use routing header to test reverse route also (IPv6-only). 
    -S srcaddr  Source address to use. 
    -4    Force using IPv4. 
    -6    Force using IPv6. 
+0

Я уже знал, что они сделали, и я уже знал о [команде] /? синтаксис, но я никогда не думал использовать его, потому что, как сказано, я уже знал, что они сделали. Но теперь, когда он видит это, как это объясняется в /? меню намного более низкое, чем почему-то аббревиатура - я всегда использовал такие вещи, как ss64.com и тому подобное. Принято, хороший ответ. – blaizor

15

Переключатель /P позволяет установить значение переменной в строке ввода, введенного пользователем. Отображает указанную строку promptString перед чтением строки ввода. Команда promptString может быть пуста.

Два способа, которые я использовал его ... первый:

SET /P variable= 

Когда пакетный файл достигнет этой точки (если оставлено пустым) будет остановить и ждать ввода пользователя. Ввод затем становится переменной.

И второе:

SET /P variable=<%temp%\filename.txt 

Будет ли установить переменную содержимое (первая линия) в текстовом файле. Этот метод не будет работать, если не включен /P. Оба тестируются на Windows 8.1 Pro, но это то же самое на 7 и 10.