2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4  След.
 
 Re: Latex и подстановочные знаки
Сообщение12.04.2017, 11:12 
Dmitriy40 в сообщении #1208912 писал(а):
Не понимаю что тут непонятного

вот тут
Dmitriy40 в сообщении #1208644 писал(а):
(*.tex)

нет параметра f.
arseniiv в сообщении #1208830 писал(а):
а то узнать текущий каталог было нельзя. :-) )

А я и так не знал, наткнулся случайно.
Dmitriy40 в сообщении #1208912 писал(а):
Это абсолютно не странно, cmd.exe запускается с текущим каталогом windows\system32

А почему при нескольких первых запусках батника папки создавались в одном каталоге с батником? Содержание батника я уже писал:
Sinoid в сообщении #1208799 писал(а):
Батник был следующего содержания:
Код:

echo off
for /l %%i in (1,1,100) do mkdir "dir %%i"

.
А запускал я его кнопкой "Открыть" из папки с батником.

 
 
 
 Re: Latex и подстановочные знаки
Сообщение12.04.2017, 11:43 
Аватара пользователя
Dmitriy40 в сообщении #1208912 писал(а):
Это абсолютно не странно, cmd.exe запускается с текущим каталогом windows\system32 - если самому не указать другой.

Бред какой. Где запустите, там и запускается. Зависит от способа запуска, n'est pas?
(Я всегда запускаю из Commander-а, например. Кто-то может из другого cmd.)

 
 
 
 Re: Latex и подстановочные знаки
Сообщение12.04.2017, 12:46 
Аватара пользователя
В любой UNIX shell, и, кажется, в Windows, под "директорией" если она не выписана явно, понимается текущая директория, которая обозначается ".", в то время как домашняя директория обозначается "~".

Но в любом случае, нелепые пожелания ТС привели к тому, что эта дискуссия, не имеющая практически никакого отношения к TeX, попала сюда.

 
 
 
 Re: Latex и подстановочные знаки
Сообщение12.04.2017, 13:47 
А когда пишу в командную строку, запущенную из папки, папки создаются где и ожидается. Я сейчас в окончание батника добавил команду pause, так после открытия батника вижу такую картину:
Код:
C:\Windows\system32>echo off
Для продолжения нажмите любую клавишу . . .

Получается, все верно и нужно в батнике рабочей папкой указать папку, в которой находится батник. Только как это сделать? Попробовал в батник написать
Код:
cd..

не помогает.

 
 
 
 Re: Latex и подстановочные знаки
Сообщение12.04.2017, 14:41 
Dmitriy40 в сообщении #1208912 писал(а):
Это абсолютно не странно, cmd.exe запускается с текущим каталогом windows\system32 - если самому не указать другой.
Ну вот я жму Win-R, пишу cmd — и получаю в промпте C:\Users\123.

-- Ср апр 12, 2017 16:56:37 --

Munin в сообщении #1208944 писал(а):
Где запустите, там и запускается.
Хм, вот да, действительно, чем cmd хуже других программ — она тоже должна наследовать текущий каталог. Другое дело, что она могла бы не отождествлять текущий каталог своего процесса с текущим каталогом, используемым для команд. Но, видимо, этого не делает.

Sinoid
Если вы напишете просто .., вы перейдёте вверх из текущего каталога, который пока что %SystemRoot%, и попадёте в %WinDir% (в вашем случае C:\Windows). Можно использовать то, что аргументом %0 передаётся путь к самому батнику, и использовать
Lenchik в сообщении #1208918 писал(а):
Потому приходилось писать в некоторых скриптах, рассчитанных на "набрасывание" файла на них перетаскиванием, в самом начале
Используется синтаксис Bash
SET source_path=%~dp1
cd /d "%source_path%"
 
заменив здесь 1 на 0. Можно также (я проверил сейчас) сразу написать cd /d "%~dp0" без введения переменной.

-- Ср апр 12, 2017 16:59:41 --

Кстати, по поводу вот таких штук с аргументами, которые лично мне мало где удавалось найти, есть неплохой справочник
https://ss64.com/nt/syntax.html
и вообще
https://ss64.com/nt/

 
 
 
 Re: Latex и подстановочные знаки
Сообщение12.04.2017, 16:41 
Munin в сообщении #1208944 писал(а):
Бред какой. Где запустите, там и запускается. Зависит от способа запуска, n'est pas?
Не бред и разумеется зависит. Я говорил про такой запуск: Win+R - cmd.exe - Enter. Или из меню ПУСК - Все программы - Стандартные - Командная строка. (Правда в windows\system32 запускается лишь для старых ОС, типа WinXP и старее, для более новых - из папки юзера. Этого я не учёл по привычке.) Т.е. когда явно не указана текущая папка (например в свойствах ярлыка) или из которой запускаем (при запуске из всяких командеров или проводника).

Sinoid в сообщении #1208933 писал(а):
вот тут
Dmitriy40 в сообщении #1208644 писал(а):
(*.tex)
нет параметра f.
Он тут и не нужен, тут указано в каких пределах он должен изменяться при запуске указанной далее программы. Ведь в Вашем выражении for /l %%i in (1,1,100) do mkdir "dir %%i" в скобках тоже нет параметра %%i - это полностью аналогично.

 
 
 
 Re: Latex и подстановочные знаки
Сообщение12.04.2017, 16:59 
Аватара пользователя
Dmitriy40 в сообщении #1209028 писал(а):
Я говорил про такой запуск: Win+R

Ну а вокруг все телепаты, и должны знать, что вы про такой. Я про него тут впервые в теме узнал.

 
 
 
 Re: Latex и подстановочные знаки
Сообщение12.04.2017, 18:35 
В конечном-то итоге всё тайное стало явным.

 
 
 
 Posted automatically
Сообщение12.04.2017, 18:54 
Аватара пользователя
 i  Тема перемещена из форума «TeXнические обсуждения» в форум «Software»

 
 
 
 Re: Latex и подстановочные знаки
Сообщение12.04.2017, 20:35 
Dmitriy40 в сообщении #1209028 писал(а):
Он тут и не нужен, тут указано в каких пределах он должен изменяться при запуске указанной далее программы

Это получается, что список (область :?: ) значений переменной $f$, как бы это сказать, составляется из названий файлов .tex, а подстановочный знак * говорит, что при этом используются все файлы .tex?
arseniiv в сообщении #1209001 писал(а):
cd /d "%~dp0"

Да, спасибо, но я уже нашел вот здесь. Короче, я почти написал. Вот код:
Код:
echo off
cd /d %0\..
for %%f in (*.tex) do pdflatex %%f
asy *.asy
for %%f in (*-{0}*.tex) do pdflatex %%f
pause

по идее последняя строка должна компилировать pdflatex'ом .tex-файлы, в названии которых нет знака - , но этого не происходит. До этой же строки все идет как надо. Сейчас в Интернете покапаюсь, может, чего найду.
arseniiv в сообщении #1209001 писал(а):
https://ss64.com/nt/syntax.html

и вообще
https://ss64.com/nt/


да, ресурс классный, потом скачаю, а то сайт сегодня есть, завтра нет. Еще б язык знать.

 
 
 
 Re: Latex и подстановочные знаки
Сообщение13.04.2017, 20:45 
Как-то странно получается. Вот у меня в папке 2 файла: kino.tex и ugo-zapad.tex. Когда выполняю такой батник:
Код:
echo off
cd /d %0\..
for %%f in (*.tex) do if not %%f==kino.tex pdflatex %%f
pause

как и ожидается, компилируется один файл ugo-zapad.tex. Но когда вместо этого батника пишу батник
Код:
echo off
cd /d %0\..
for %%f in (*.tex) do if not %%f==*a*.tex pdflatex %%f
pause

компилируются оба файла. Это почему так?

 
 
 
 Re: Latex и подстановочные знаки
Сообщение13.04.2017, 21:11 
Кажется, сравнение на «равенство» строке с wildcard’ами работать и не должно.

 
 
 
 Re: Latex и подстановочные знаки
Сообщение13.04.2017, 23:22 
Точнее оно как раз работает, но без учёта макроподстановок, т.е. просто сравнивает две обычные строки, не преобразуя символы "*" ни во что другое.
Вообще задача обработать ,батником файлы кроме заданных - нетривиальная. И вероятно проще всего её решить обходным путём: переименовать файл-исключение, обработать все нужные, переименовать файл-исключение обратно, как-то так:
Код:
ren *a*.tex *.do_not
for %%f in (*.tex) do pdflatex %%f
ren *.do_not *.tex

 
 
 
 Re: Latex и подстановочные знаки
Сообщение13.04.2017, 23:42 
Dmitriy40 в сообщении #1209305 писал(а):
И вероятно проще всего её решить обходным путём: переименовать файл-исключение, обработать все нужные, переименовать файл-исключение обратно, как-то так:

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

-- 14.04.2017, 00:46 --

Dmitriy40 в сообщении #1209305 писал(а):
Вообще задача обработать ,батником файлы кроме заданных - нетривиальная

Кто бы мог подумать, а кажется целый компьютер и такой пустяк.

 
 
 
 Re: Latex и подстановочные знаки
Сообщение14.04.2017, 01:33 
Задача нетривиальная для данного набора средств (бат файл и cmd.exe), с другим набором (например другими обработчиками скриптов, не встроенный в Windows cmd.exe) она вполне тривиальна. Так что Вашу иронию надо адресовать к выбору средств решения задачи.

 
 
 [ Сообщений: 47 ]  На страницу Пред.  1, 2, 3, 4  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group