Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Другие темы раздела
CMD/BAT Мониторинг появления файлов в заданной папке, их печать и удаление http://www.cyberforum.ru/cmd-bat/thread835815.html
Задача такая: Если в папке какой-то файл есть, должен этот файл печататься и потом удалятся. Для Word это получается. А как это делать для остальных тип ( пока только xls, pdf, corel ) файлов ? ...
CMD/BAT Можно ли скопировать файл в определенное место на рабочем столе?
Есть, файл и его нужно скопировать на рабочий стол.(Это я знаю как) Как этот файл разместить в определенную область рабочего стола? Или это нельзя сделать?
CMD/BAT Поиск файлов по маске и их перемещение с условиями
Доброго здравствуйте, знатоки! Прошу помощи в написании батника : Рабочий каталог: D:\Work\Job 1) Проверка наличия в рабочем каталоге текстовых файлов с расширением .txt по маске seqv* и...
CMD/BAT Соединить несколько текстовых файлов в один с указанием имени каждого Написать программу,которая из всех текстовых файлов в каталога формирует один большой текстовый файл, причем перед содержимым каждого файла в целевой файл помещается его имя http://www.cyberforum.ru/cmd-bat/thread833365.html
CMD/BAT Замена символов в XML-файле http://www.cyberforum.ru/cmd-bat/thread833326.html
Имеется: файлы *.xml в одну строку Необходимо: найти закрытие тега и вставить перенос на новую строку, а именно заменить "><" на ">перенос строки<" (>/n< в Notepad++) Возможно ли как то это...
CMD/BAT Сумма цифр введенного числа
Написать скрипт, который запрашивает у пользователя строку, состоящую из произвольных символов, включая цифры находит сумму цифр введенного числа Пояснение: Строка вводится...
CMD/BAT Проверка наличия каталогов и ведение лога
При помощи цикла For написать командный файл, который: после запуска перебирает содержимое каталога i:\temp у каждого файла в данном каталоге выделяется расширение проверяется наличие...
CMD/BAT Обсуждение сложных кодов, команд и синтаксиса* Тема с повышенным уровнем сложности. Создана для пояснения непонятных моментов по кодам темы " http://www.cyberforum.ru/cmd-bat/thread672170.html ", и любых других сложных конструкций. Просто... http://www.cyberforum.ru/cmd-bat/thread832213.html
CMD/BAT Помещение файла в автозагрузку http://www.cyberforum.ru/cmd-bat/thread832066.html
Помогите со скриптом (если я правильно выразился). Задача. По адресу пуск>все программы>автозагрузка ничего нет. Но как только я запущу определенный пакетник (CMD или еще что) подготовленный...
CMD/BAT Экранирование номера потока в перенаправлении вывода ECHO 30) Экранирование номера потока в перенаправлении вывода Echo Понадобился в целях автоматизации перекодировки ini-файл следующего содержания: '000' 0 '001' 1 ... и так пицот раз ... '255' http://www.cyberforum.ru/cmd-bat/thread831829.html
Dragokas
Эксперт WindowsАвтор FAQ
17069 / 7124 / 861
Регистрация: 25.12.2011
Сообщений: 10,931
Записей в блоге: 16
13.04.2013, 19:59 0

Что такое «.\NUL»? И почему это не работает?

13.04.2013, 19:59. Просмотров 16016. Ответов 27
Метки (Все метки)

Ответ

1) Это никогда не будет работать, если допускаете опечатки:
Цитата Сообщение от masli Посмотреть сообщение
set work=%cd%\windows7_x32
Цитата Сообщение от masli Посмотреть сообщение
SET work=%CD%\window7_x32
2) Пользуйтесь данными Вам советами (использовать ~dp0 вместо %cd% (см. этот пост. Второе - использовать кавычки).

На счет Вашего замечания об информативности - я его учту и постараюсь набросать несколько примеров.

Для начала:
1. Использование NUL, чтобы спрятать сообщения.
1) Вводим команду (можно не в бат-файл, прямо в интерпретатор: Пуск -> Выполнить -> CMD)
Bash
1
pause
Получаем сообщение (это так называемый поток вывода StdOut (поток № 1)):
Нажмите любую клавишу для продолжения...
Теперь мы хотим, чтобы это сообщение не выводилось (нужно "занулить" 1-й поток):
Bash
1
pause> nul
Команда выполниться и будет все также ожидать нажатия любой клавиши, но сообщение на экран не выводится.
Эта конструкция равносильна:
Bash
1
pause 1>nul
В ней мы явно указываем, что занулить именно поток № 1.
Еще часто используется поток № 2 (StdError), куда попадают сообщения об ошибках.
Например, инсцинируем ошибку при создании каталога:
Bash
1
md c:\
Отказано в доступе.
Сообщение об ошибке зануляется так:
Bash
1
md c:\ 2>nul
Чтобы занулить все сообщения (оба потока):
Bash
1
md c:\ 2>nul 1>&2
2. Использование NUL, чтобы проверить успех операции.
Например, проверяем, что файл физически можно считать с диска:
Bash
1
copy file.avi nul&& echo Успех
Происходит имитация копирования файла file.avi, при этом file.avi считывается полностью, как при обычном копировании. && - означает что дальнейшие команды будут выполнены только при успехе операции (код возврата = 0).

Добавлено через 2 часа 58 минут
Можно переписать код так:

Bash
1
2
3
4
5
6
@echo off
set work=%~dp0windows7_x32
if not exist "%work%" md "%work%"
pushd "%work%"
for %%A in (DVD ISO Logs Mount wim Sandbox Updates xml bootwim\lp bootwim\mount mui) do >nul md "%%A"
popd


Вернуться к обсуждению:
Что такое «.\NUL»? И почему это не работает?
2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 19:59
Готовые ответы и решения:

Что это такое?
Здравствуйте форумчане! Я нашел своем компьютере вот такую вирусную программу, даже при полном...

Что это такое VDI?
Доброго времени суток уважаемые. Подскажите, что же такое VDI? Может быть кто-то пользовался этим...

Tasklist и taskkill. Объясните на пальцах, что это такое=)
Юзал справку, как-то непонятно там. Понял только, что tasklist служит для отображения процессов, а...

Что такое IIS и что такое PWS? Почему одно без другого не работает?
вот уже второй день пытаюсь немного разобраться в АСП. накидал небольшую тестовую страничку. но с...

Что такое звук, как это работает
Вопрос, не столько по с++, сколько вообще по компам(не нашел в какой раздел это писать) Что такое...

27
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru