There are many ways that untold things can 'not work', if you wish specific technical help, please try to be as descriptive as possible with being explicit about what you tried, as well as how the problem presents.
For example, the thread I prompted you to read I believe offers two approaches to seperating on arabic character sets, one by use of a package and other via a base approach. did you try one, or both of these?
as an aside, when I run your code as provided, it does work 'in a sense' In that a df is made, although I see Ucodes for the letters rather than the direct interpretation. I can see that the arabic letters are preserved (i.e. that the U codes are correct, if I view()
df <- data.frame(file_name = c("آبین.csv",
"ملت.csv",
"شاروم.csv"))
> df
file_name
1 <U+0622><U+0628><U+06CC><U+0646>.csv
2 <U+0645><U+0644><U+062A>.csv
3 <U+0634><U+0627><U+0631><U+0648><U+0645>.csv
df2<- df %>% separate(file_name, c("name", "file"))
view(df2)
