@@ -46,6 +46,7 @@ static async Task Main(string[] args)
4646 int flag5 = 5 ;
4747 string ? flag6 = null ;
4848 int flag7 = 1 ;
49+ int flag8 = - 1 ;
4950
5051 //Operation
5152 try { flag2 = ( Operation ) int . Parse ( args [ 2 ] ) ; } catch { }
@@ -65,6 +66,9 @@ static async Task Main(string[] args)
6566 //RecurseSubdirectories
6667 try { _ = int . TryParse ( args [ 7 ] , out flag7 ) ; } catch { }
6768
69+ //MaxGrab
70+ try { _ = int . TryParse ( args [ 8 ] , out flag8 ) ; } catch { }
71+
6872
6973 if ( string . IsNullOrEmpty ( SourcePath ) )
7074 {
@@ -97,14 +101,16 @@ static async Task Main(string[] args)
97101 MatchCasing = MatchCasing . CaseInsensitive
98102 } ;
99103
100- var files = Directory . EnumerateFiles ( SourcePath , flag6 , enumerationOptions ) . ToList ( ) ;
104+ var files = Directory . EnumerateFiles ( SourcePath , flag6 , enumerationOptions ) ;
105+
106+ var lFiles = ( flag8 > 0 ) ? files . Take ( flag8 ) . ToList ( ) : files . ToList ( ) ;
101107
102- files . Shuffle ( ) ;
108+ lFiles . Shuffle ( ) ;
103109
104110 if ( flag4 == Logging . Yes )
105111 {
106112 sw1 . Stop ( ) ;
107- Console . WriteLine ( $ "files { files . Count ( ) } listing files took { sw1 . ElapsedMilliseconds } ms ") ;
113+ Console . WriteLine ( $ "files { lFiles . Count ( ) } listing files took { sw1 . ElapsedMilliseconds } ms ") ;
108114
109115 }
110116
@@ -115,7 +121,7 @@ static async Task Main(string[] args)
115121 sw2 . Start ( ) ;
116122
117123
118- await Parallel . ForEachAsync ( files , new ParallelOptions ( )
124+ await Parallel . ForEachAsync ( lFiles , new ParallelOptions ( )
119125 {
120126 MaxDegreeOfParallelism = flag3
121127 } ,
0 commit comments