У меня есть командный файл, который будет запускаться csc
с использованием файла в качестве ввода.Я хочу изменить его так, чтобы он считывал ссылки из файла и добавлял их в строку, выполняемую при запуске сценария.
Я пробовал несколько разных вещей, но, похоже, он не работает.Ссылки добавляются с помощью /r:
, а затем каждый путь ссылки имеет точку с запятой в качестве разделителя.
В идеале, я хотел бы просто добавить ссылку на новую строку в текстовом файле.Файл ref.txt
находится в том же каталоге, что и входной файл, и я не уверен, просматривал ли он этот каталог или нет.Я также хочу попытаться запустить его без файла ref.txt
, поэтому для этого я добавил строку существующие.Я никогда раньше не использовал пакетные скрипты, поэтому, может быть, кто-то другой знает, как сделать это лучше меня.Я думаю, что первая строка должна соответствовать стартовой строке, что я пытался сделать в других попытках, но она не работала.
Скрипт работает в Notepad ++ и был из этого answer .Теперь я думаю, что команду run также нужно изменить.
Это команда запуска в Notepad ++:
C:\bin\csc.bat "$(CURRENT_DIRECTORY)\$(NAME_PART).exe" "$(FULL_CURRENT_PATH)"
Это версия из этого ответа:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc /out:%1 %2
@echo off
if errorlevel 1 (
pause
exit
)
start %1 %1
Это попытка использовать ссылки:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc /out:%1 %2
@echo off
if errorlevel 1 (
pause
exit
)
if not exist ref.txt GOTO :write
set a = /r:
set refs = type ref.txt
start %1 %a% and %refs% and %1
exit
write
start %1 %1
Файл refs.txt содержит следующие пути к файлам:
C:\windows\some_path\some_file.dll;C:\windows\some_path\another_file.dll;
Пример команды от Microsoft is:
csc /t:exe /r:MyCodeLibrary.dll;NewLib.dll *.cs