遍历文件名并删除 Erlang 中的扩展名
Iterate through filenames and remove extensions in Erlang
我是 Erlang 新手。我已经尝试对此进行研究,但由于我是这种语言的新手并且对我的代码感到困惑,所以我在这里 posting。
我想遍历目录中的文件,并且对于每个文件,运行一个基于文件名(减去其扩展名)的命令。
例如,这个(未经测试的)批处理文件应该遍历 XML 个文件的文件夹,将当前文件名存储在一个变量中(减去文件扩展名),然后下载同名的 JPEG :
for %%a in (*.xml) do (
set "current_filename=%%~na"
wget -q -c -t 2 -0 "C:\Photos" "https://www.example.com/!current_filename!.jpg"
)
这是我当前的 Erlang 模块代码:
-module(erlangtest1).
-include_lib("kernel/include/file.hrl").
-compile(export_all).
ListXmlFiles() -> lists:foldl(fun(Filename) ->
FileInfo = file:read_file_info("C:/XML/" ++ Filename),
end, 0, Filenames).
到目前为止,我一直在编写一个检索文件名的函数。完成此操作后,我将尝试通过 os:cmd/1.
运行 wget
使用filelib:wildcard函数:
Filenames = filelib:wildcard("*.xml", "C:/XML")
gather_filenames() ->
[ begin
"lmx." ++ NF = lists:reverse(FN),
lists:reverse(NF)
end || FN <- filelib:wildcard("*.xml", "C:/XML") ].
或更简单但我不知道 filename:rootname/1
引入时的版本
gather_filenames() ->
[ filename:rootname(FN) || FN <- filelib:wildcard("*.xml", "C:/XML") ].
我是 Erlang 新手。我已经尝试对此进行研究,但由于我是这种语言的新手并且对我的代码感到困惑,所以我在这里 posting。
我想遍历目录中的文件,并且对于每个文件,运行一个基于文件名(减去其扩展名)的命令。
例如,这个(未经测试的)批处理文件应该遍历 XML 个文件的文件夹,将当前文件名存储在一个变量中(减去文件扩展名),然后下载同名的 JPEG :
for %%a in (*.xml) do (
set "current_filename=%%~na"
wget -q -c -t 2 -0 "C:\Photos" "https://www.example.com/!current_filename!.jpg"
)
这是我当前的 Erlang 模块代码:
-module(erlangtest1).
-include_lib("kernel/include/file.hrl").
-compile(export_all).
ListXmlFiles() -> lists:foldl(fun(Filename) ->
FileInfo = file:read_file_info("C:/XML/" ++ Filename),
end, 0, Filenames).
到目前为止,我一直在编写一个检索文件名的函数。完成此操作后,我将尝试通过 os:cmd/1.
运行 wget使用filelib:wildcard函数:
Filenames = filelib:wildcard("*.xml", "C:/XML")
gather_filenames() ->
[ begin
"lmx." ++ NF = lists:reverse(FN),
lists:reverse(NF)
end || FN <- filelib:wildcard("*.xml", "C:/XML") ].
或更简单但我不知道 filename:rootname/1
引入时的版本
gather_filenames() ->
[ filename:rootname(FN) || FN <- filelib:wildcard("*.xml", "C:/XML") ].