On 11/3/2021 7:49 PM, Pablo Rodriguez via ntg-context wrote:
Dear list,
I have the following sample:
\starttext
\startluacode
main_file = document.files[1]
if file.pathpart(main_file) == "" then
main_filename = file.nameonly(main_file)
main_filename_win = main_filename
else
main_filename = file.pathpart(main_file):gsub(io.fileseparator, "/")
.. "/" .. file.nameonly(main_file)
docx_file = main_filename .. "-file.docx"
epub_file = main_filename .. "-file.epub"
if os.name == "windows" then
main_filename_win = file.pathpart(main_file) .. io.fileseparator
.. file.nameonly(main_file)
docx_file_win = main_filename_win .. "-file.docx"
epub_file_win = main_filename_win .. "-file.epub"
end
end
if os.name=="windows" then
context(docx_file_win)
os.execute("copy " .. docx_file_win .. " aeae")
else
context(docx_file)
end
\stopluacode
\stoptext
If I run it on Windows, context(docx_file_win) cannot deal with the
backslash, so I get:
.document-file.docx
So it is impossible that os.execute may work with copy.
Running it with Linux, I get "./document-file.docx".
How can I get the io.fileseparator or escape the backslash in
main_filename_win above?
(there are helpers for splitting names and combining paths)
- use locals
- wrap names in "" and use / : dir "c:/data"
- just use file.copy (with forward slashes), is faster too
so in the end there is no need to test for windows
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________