Walk a directory/Recursively: Difference between revisions

Content added Content deleted
No edit summary
No edit summary
Line 1,801: Line 1,801:
''Note:'' To include only ''files'' instead of directories too each of the above needs an additional<code>Where-Object</code> filter:
''Note:'' To include only ''files'' instead of directories too each of the above needs an additional<code>Where-Object</code> filter:
<lang powershell>| Where-Object { !$_.PSIsContainer }</lang>
<lang powershell>| Where-Object { !$_.PSIsContainer }</lang>





=={{header|Prolog}}==
=={{header|Prolog}}==
{{works with|Swi-Prolog|8.3}}
{{works with|Swi-Prolog|8.3}}
<lapg prolog>
<lapg Prolog>
% submitted by Aykayayciti (Earl Lamont Montgomery)
% submitted by Aykayayciti (Earl Lamont Montgomery)
% altered from fsaenzperez April 2019
% altered from fsaenzperez April 2019
Line 1,845: Line 1,844:
;
;
format('Unknown: ~w~n',[File])
format('Unknown: ~w~n',[File])
).
).</lang>

output :
<lang Prolog>?- test_run.
File: GMFBridge.ax
File: libeay32.dll
File: ssleay32.dll
File: license.txt
Directory: C:\vvvv\vvvv_beta_39_x64/licenses
Directory: .
Directory: ..
File: Apache.txt
File: BSD.txt
File: LGPL.txt
File: MIT.txt
File: MPL.txt
File: MS-PL-Eula.rtf
File: MS-PL.txt
File: MSR-SSLA.txt
</lang>
</lang>


Line 1,880: Line 1,897:
WalkRecursive(1,"C:\WINDOWS\","\.log$")
WalkRecursive(1,"C:\WINDOWS\","\.log$")
FinishDirectory(1)</lang>
FinishDirectory(1)</lang>




=={{header|Prolog}}==
{{works with|Swi-Prolog|8.3}}
<lapg Prolog>
% submitted by Aykayayciti (Earl Lamont Montgomery)
% altered from fsaenzperez April 2019
% (swi-prolog.discourse-group)
test_run :-
proc_dir('C:\\vvvv\\vvvv_beta_39_x64').


proc_dir(Directory) :-
format('Directory: ~w~n',[Directory]),
directory_files(Directory,Files),!, %cut inserted
proc_files(Directory,Files).

proc_files(Directory, [File|Files]) :-
proc_file(Directory, File),!, %cut inserted
proc_files(Directory, Files).
proc_files(_Directory, []).

proc_file(Directory, File) :-
(
File = '.',
directory_file_path(Directory, File, Path),
exists_directory(Path),!,%cut inserted
format('Directory: ~w~n',[File])
;
File = '..',
directory_file_path(Directory, File, Path),
exists_directory(Path),!,%cut inserted
format('Directory: ~w~n',[File])
;
directory_file_path(Directory, File, Path),
exists_directory(Path),!,%cut inserted
proc_dir(Path)
;
directory_file_path(Directory, File, Path),
exists_file(Path),!,%cut inserted
format('File: ~w~n',[File])
;
format('Unknown: ~w~n',[File])
).</lang>

output :
<lang Prolog>?- test_run.
File: GMFBridge.ax
File: libeay32.dll
File: ssleay32.dll
File: license.txt
Directory: C:\vvvv\vvvv_beta_39_x64/licenses
Directory: .
Directory: ..
File: Apache.txt
File: BSD.txt
File: LGPL.txt
File: MIT.txt
File: MPL.txt
File: MS-PL-Eula.rtf
File: MS-PL.txt
File: MSR-SSLA.txt
</lang>






=={{header|Python}}==
=={{header|Python}}==