Запись в файл {-Project.Directory-}

Wide

Client
Регистрация
04.02.2013
Сообщения
944
Благодарностей
252
Баллы
63
Обнаружилось, что макрос "{-Project.Directory-}" при записи в файл, пишет действительный путь, например "c:\PROJECT\DIRECT". хз, но мне с частыми переносами проектов, нужно записать как "{-Project.Directory-}DIRECT", думал экранировать как то, не получается. может сниппетом есть варианты? подскажите гуру))
 

iDnx

Client
Регистрация
06.06.2013
Сообщения
129
Благодарностей
104
Баллы
43
Код:
string path = project.Directory + "file.txt";
string text = @"{-Project.Directory-}" + project.Variables["folder"].Value;
bool appendNewLine = true;
FileSystem.FileAppendString(path, text, appendNewLine);
file.txt - файл в папке проекта, куда записываем
folder - переменная, в которой DIRECT
 
  • Спасибо
Реакции: Wide

Wide

Client
Регистрация
04.02.2013
Сообщения
944
Благодарностей
252
Баллы
63
Вообщем задача немного сложнее чем выглядит, записать нужно примерно в таком формате: "{-Project.Directory-}";"http:\\site.com";"Описание", т.е. остальные переменные должны выглядеть как нужно. приложил файл проекта, может подправите где нужно? кодить совсем не моё)) плюс у папок несколько вложений, и перенос текста нужен. блин как всё сложно, может всё таки можно как то экранировать переменную {-Project.Directory-}?
 

Вложения

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Вы хотите использовать в имени файла символы, которые использовать в windows просто нельзя
 

Wide

Client
Регистрация
04.02.2013
Сообщения
944
Благодарностей
252
Баллы
63
Вы хотите использовать в имени файла символы, которые использовать в windows просто нельзя
вы наверное не внимательно читали мой вопрос. мне в файл нужно записать переменную {-Project.Directory-} как есть, а не как путь к папке проекта. пример: "{-Project.Directory-}";"http:\\site.com";"Описание". пробовал экранировать, не получается.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113

Wide

Client
Регистрация
04.02.2013
Сообщения
944
Благодарностей
252
Баллы
63
А через код не пашет?
мне нужно только переменную {-Project.Directory-} записать как есть, а остальные как нужно, я уже показывал пример, на выходе должно быть вот так: {-Project.Directory-}#пременная1#переменная2
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
651
Баллы
93
Разбейте строку с переменой на 2 части. Например "{-"+"Project.Directory-}"
Тогда зенка не будет заменять на путь.
 

Wide

Client
Регистрация
04.02.2013
Сообщения
944
Благодарностей
252
Баллы
63

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 469
Благодарностей
8 691
Баллы
113
в файл вместо переменной {-Project.Directory-} писать маркер какой-либо, напрмиер ##pr.dir## и потом автозаменой например в Notepad++ маркеры ##pr.dir## заменять на {-Project.Directory-}..
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
651
Баллы
93
C#:
string path = project.Directory + "\\test.txt";
string project_dir =    "{"+"-Project.Directory-}";
string text = String.Format("\"{0}\";\"{1}\";\"{2}\"",project_dir,project.Variables["url"].Value,project.Variables["description"].Value);
bool appendNewLine = true;
FileSystem.FileAppendString(path, text, appendNewLine);
 
  • Спасибо
Реакции: Wide

Wide

Client
Регистрация
04.02.2013
Сообщения
944
Благодарностей
252
Баллы
63
в файл вместо переменной {-Project.Directory-} писать маркер какой-либо, напрмиер ##pr.dir## и потом автозаменой например в Notepad++ маркеры ##pr.dir## заменять на {-Project.Directory-}..
так пока и делаю) только задалбываюсь копаться в комбайнах, где чё? запоминать нужно, ни хрена не автоматизация это)) а отдыхать когда спрашивается?))
 

Wide

Client
Регистрация
04.02.2013
Сообщения
944
Благодарностей
252
Баллы
63
C#:
string path = project.Directory + "\\test.txt";
string project_dir =    "{"+"-Project.Directory-}";
string text = String.Format("\"{0}\";\"{1}\";\"{2}\"",project_dir,project.Variables["url"].Value,project.Variables["description"].Value);
bool appendNewLine = true;
FileSystem.FileAppendString(path, text, appendNewLine);
щас затестим)
 

Wide

Client
Регистрация
04.02.2013
Сообщения
944
Благодарностей
252
Баллы
63
C#:
string path = project.Directory + "\\test.txt";
string project_dir =    "{"+"-Project.Directory-}";
string text = String.Format("\"{0}\";\"{1}\";\"{2}\"",project_dir,project.Variables["url"].Value,project.Variables["description"].Value);
bool appendNewLine = true;
FileSystem.FileAppendString(path, text, appendNewLine);
алилуя, получилось)) Adigen красавчик, благодарю)) подписался на тебя, чтоб не потерять))
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)