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

Wide

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

iDnx

Client
Регистрация
06.06.2013
Сообщения
145
Благодарностей
122
Баллы
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
Сообщения
970
Благодарностей
262
Баллы
63
Вообщем задача немного сложнее чем выглядит, записать нужно примерно в таком формате: "{-Project.Directory-}";"http:\\site.com";"Описание", т.е. остальные переменные должны выглядеть как нужно. приложил файл проекта, может подправите где нужно? кодить совсем не моё)) плюс у папок несколько вложений, и перенос текста нужен. блин как всё сложно, может всё таки можно как то экранировать переменную {-Project.Directory-}?
 

Вложения

rostonix

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

Wide

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

rostonix

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

Wide

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

Adigen

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

Wide

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

Sergodjan

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

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
654
Баллы
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
Сообщения
970
Благодарностей
262
Баллы
63
в файл вместо переменной {-Project.Directory-} писать маркер какой-либо, напрмиер ##pr.dir## и потом автозаменой например в Notepad++ маркеры ##pr.dir## заменять на {-Project.Directory-}..
так пока и делаю) только задалбываюсь копаться в комбайнах, где чё? запоминать нужно, ни хрена не автоматизация это)) а отдыхать когда спрашивается?))
 

Wide

Client
Регистрация
04.02.2013
Сообщения
970
Благодарностей
262
Баллы
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
Сообщения
970
Благодарностей
262
Баллы
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)