

C# Náhodná složka
Zdravím,
Pomohl by mi někdo vytvořit kód (v C#) pro výpis náhodné složky z určeného místa v PC ? (např.: C:\Users\(moje jméno)\Desktop) a zde (z plochy) vybrat jednu složku, náhodně a vypsat na konzoli jméno té složky.
Děkuji za váš čas
Pomohl ano. Udělal za tebe ne. S čím si nevíš rady? A neřešil už jsi to tu nedávno a nedostal jsi řešení pro PowerShell?
Udělal jsem si provizorní "program" Mám tam dvě tlačítka a jedno je pro výběr určené složky kde má vyhledat tu náhodnou a druhé vygeneruje jméno náhodné složky, problém je že to funguje pouze na soubory (např. .exe, .jpg, atd.) Při výběru šložky nefunguje, hledal jsem po internetu jak bych to mohl přepsat ale vůbec nic mi nepomohlo
public String strDirectory;
public String strRandFile;
DirectoryInfo di;
FileInfo[] dirFiles;
Random r = new Random();
public Form1()
{
InitializeComponent();
}
private void dir_butt_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
strDirectory = fbd.SelectedPath;
textBox1.Text = strDirectory;
di = new DirectoryInfo(strDirectory);
dirFiles = di.GetFiles();
rdm_butt.Visible = true;
}
}
private void rdm_butt_Click(object sender, EventArgs e)
{
int posVals = dirFiles.Length;
int randpick = r.Next(0, posVals);
strRandFile = dirFiles[randpick].Name;
textBox2.Text = strRandFile;
Při výpisu chyby mi píše, že je někdě tady:
strRandFile = dirFiles[randpick].Name;
A to je problém, že tento kód nedokáže vypsat název složky ale pouze souborů
a to randpick je kolko a z jakeho rozsahu ho generujes? To je tvoja chyba. Nizsie mas ten rozsah vo funkcii Next spravne.
Tady mám ještě jeden kód, ten funguje ale pouze vypíše čísla (index, pořadí složky, ne název)
string DirFolder = @"(cesta)";
string[] folders = Directory.GetDirectories(DirFolder);
Random rnd = new Random();
Console.WriteLine (folders(rnd.Next(folders.Length));
Ten kód ti nemůže fungovat. Pokud ale opravím závorky, tak bez problémů funguje:
Děkuji, takhle jsem to přesně chtěl
Akorát jestli by byla ještě možnost, dost se s tím peru, jde udělat aby se ukázal pouze název složky ? Na konzoli mi vypíše celou cestu (např.: "C:\Users\(jméno)\Desktop\(název složky)")
Děkuji mockrát za váš čas