Hi,

Request your help, the below code sometime prints duplicate and some time miss the entry. due to which any code written below the line "foreach (d; parallel(dFiles[], 1))" are some time duplicated and some time not executed(skips). tired adding sort and uniq to the writeln but no luck.


Code:
import std.algorithm: filter, map, sort, uniq;
import std.container;
import std.file: SpanMode, dirEntries, isDir;
import std.stdio: writeln;
import std.parallelism: parallel;

void main () {
auto SizeDirlst = Array!string ("C:\\Temp\\TEAM\\BACKUP", "C:\\Temp\\TEAM\\EXPORT");
        foreach (FFs; SizeDirlst[]) {
auto dFiles = Array!string ((dirEntries(FFs, SpanMode.shallow).filter!(a => a.isDir))[].map!(a => a.name));
        foreach (d; parallel(dFiles[], 1)) { writeln(d); }
        }
        }

Output 1:

C:\Temp\TEAM\BACKUP\dir1
C:\Temp\TEAM\BACKUP\DND3
C:\Temp\TEAM\BACKUP\dir2  - Duplicate
C:\Temp\TEAM\BACKUP\dir2  - Duplicate
C:\Temp\TEAM\EXPORT\DND6

Output 2:
C:\Temp\TEAM\BACKUP\dir1
C:\Temp\TEAM\BACKUP\DND3
C:\Temp\TEAM\BACKUP\dir2  - Duplicate
C:\Temp\TEAM\BACKUP\dir2  - Duplicate


C:\Temp\TEAM\EXPORT\DND6  - Missing

From,
Vino.B

Reply via email to