Skorpion Posted January 20, 2020 Share Posted January 20, 2020 (edited) Selam asagadaki kod sayesinde bir klasör ve icine diger klasörleri aciyorum yanliz ben katilmsiz ve portable klasörlerinin icine 2 ser tane 2019 ve 2020 adinda klasör acmak istiyorum bunu nasil yapabilirim $text = "Programlar\" $user = "Katilimsiz\Portable\Program\" $array = StringSplit($user, '\', 2) For $i = 0 To UBound($array) - 1 DirCreate(@DesktopDir & '\' & $text & '\' & $array[$i]) Next Edited January 20, 2020 by Skorpion Quote Link to comment Share on other sites More sharing options...
nuh21tr Posted January 20, 2020 Share Posted January 20, 2020 anladığım kadarıyla sadece Katilimsiz ve Portable klasörlerinin içine 2019 ve 2020 klasörleri oluşturulmalı. Öyleyse: $text = "Programlar\" $user = "Katilimsiz\Portable\Program\" $array = StringSplit($user, '\') For $i = 1 To $array[0] DirCreate(@DesktopDir & '\' & $text & '\' & $array[$i]&"\2019") DirCreate(@DesktopDir & '\' & $text & '\' & $array[$i]&"\2020") If $i = 2 Then DirCreate(@DesktopDir & '\' & $text & '\' & $array[3]) ExitLoop EndIf Next 1 Quote Link to comment Share on other sites More sharing options...
Skorpion Posted January 21, 2020 Author Share Posted January 21, 2020 Cok Tesekkür ederim arkadasim tam istedigim buydu fakat ben isin mantigini tam anlayamadim mesela ben senin düzenledigin kod ile birseyler degistirmeye calisdim bir klasör daha ekledim ve sadece portable isimli klasörün icine 2019 ve 2020 klasörünü olusturmak istedim sayilarla oynadim ama ya hepsine atiyor yada eksik klasör olusturuyor bana bu isin mantigini aciklarmisin acaba tek bir klasöre veya diyelim 8 tane klasör olusturdum bunlarin 2 ci ve 6 ci sirasindaki klasöre 2019 ve 2020 klasörünü nasil olusturabilirim Saygilar Quote Link to comment Share on other sites More sharing options...
nuh21tr Posted January 22, 2020 Share Posted January 22, 2020 Mesela 9 adet klasör olsun ve sadece Portable klasörünün içine 2019 ve 2020 klasörleri eklemeli. Öyleyse: $text = "Programlar\" $user = "Katilimsiz\Portable\Program\Ben\Sen\O\Biz\Siz\Onlar" ; 9 adet klasörümüz olsun $array = StringSplit($user, '\') For $i = 1 To $array[0] ; burada array[0] tüm $user klasörlerini belirtir If $i = 2 Then ; 2. sırada Portable klasörü var. Yani 2. döngüde... DirCreate(@DesktopDir & '\' & $text & '\' & $array[$i]&"\2019") DirCreate(@DesktopDir & '\' & $text & '\' & $array[$i]&"\2020") Else DirCreate(@DesktopDir & '\' & $text & '\' & $array[$i]) ; Portable dışındaki klasörler için EndIf Next bide 2 sorunun cevabı ise kodları öncekiyle kıyaslarsan mantığını kavrarsın diye düşünüyorum. Yazı ile anlatmaktan ziyade kurcalamak daha iyi olabilir. İstediğin şey şöyle bir şeyse: Mesela sadece 3. ve 6. klasörleri içine 2019 ve 2020 klasörü eklemeli... Öyleyse: $text = "Programlar\" $user = "Katilimsiz\Portable\Program\Ben\Sen\O\Biz\Siz\Onlar" ; 9 adet klasörümüz olsun $array = StringSplit($user, '\') For $i = 1 To $array[0] ; burada array[0] tüm $user klasörlerini belirtir If $i = 3 Or $i = 6 Then ; 3. veya 6. klasörler. Yani 3. veya 6. döngüde > "Program" ve "O" klasörü... DirCreate(@DesktopDir & '\' & $text & '\' & $array[$i]&"\2019") DirCreate(@DesktopDir & '\' & $text & '\' & $array[$i]&"\2020") Else DirCreate(@DesktopDir & '\' & $text & '\' & $array[$i]) ; 3. veya 6. klasörler dışındaki klasörler için EndIf Next [NUH21TR]. 1 Quote Link to comment Share on other sites More sharing options...
Skorpion Posted January 23, 2020 Author Share Posted January 23, 2020 Cok Tesekkür ederim arkadasim harika anlatmissin isin mantigini anladim cok sagol 1 Quote Link to comment Share on other sites More sharing options...
Extended Posted January 23, 2020 Share Posted January 23, 2020 DirCreate("C:\abc\cde") gibi bişey yazdığınızda hem abc klasörünü, hem de cde klasörlerini otomatik olarak oluşturacaktır. Tek tek klasör açmanıza gerek yok. 1 1 Quote Link to comment Share on other sites More sharing options...
nuh21tr Posted January 24, 2020 Share Posted January 24, 2020 Skorpion, 12 saat önce yazdı: Cok Tesekkür ederim arkadasim harika anlatmissin isin mantigini anladim cok sagol Rica ederim arkadaşım. Ve.... Extended, 9 saat önce yazdı: DirCreate("C:\abc\cde") gibi bişey yazdığınızda hem abc klasörünü, hem de cde klasörlerini otomatik olarak oluşturacaktır. Tek tek klasör açmanıza gerek yok. Tabi Extended arkadaşımızın dediği gibi demek istiyorsan en kısa yolu onun dediği gibi. DirCreate mantığını zaten bildiğini düşünüyorum. Benim anladığım : For...Next döngüsü mantığı içerisinde 1 ana klasör \ Ana klasörün altında altklasörleri olmayan herhangi bir kaç tane klasör \ ve onların her hangi bir(kaç) tanesinde 2019 ve 2020 klasörleriydi. Doğru anlamışımdır umarım. Yoksa demek istediğin diğer türlü ise : Aşağıda tek tek girilerek, Extended arkadaşımızın dediği gibi yapılabilir. DirCreate(@DesktopDir & "\Programlar\Katilimsiz\Portable\Program\Ben\Sen\O\Biz\Siz\Onlar") DirCreate(@DesktopDir & "\Programlar\Katilimsiz\Portable\2019") DirCreate(@DesktopDir & "\Programlar\Katilimsiz\Portable\2020") ; Böylece sadece "Portable" klasörü içinde yine "2019" ve "2020" klasörü var. ; Ki oluşturacağın klasör formatı bu şekilde sabit ve az ise bu yolu tercih etmek mantıklı olabilir. ; Buraya Dikkat!!! Tabi bu durumda "Onlar" klasörü oluşturulan diğer klasörlerin en alt klasörü olur. Skorpion arkadaşım tecrübeni bilmediğim için böyle ayrıntılı yazdım. Belki benden daha iyi kodlama yeteneğin vardır. Bu durum için kusura bakmayasın. Hem böylece yeni başlayanlar varsa bu yazılardan faydalanmış olur. Faydalı bir şekilde ilerlemen temennisiyle... Hürmetle... [NUH21TR]. 1 Quote Link to comment Share on other sites More sharing options...
Skorpion Posted January 24, 2020 Author Share Posted January 24, 2020 Dircreate ile klasör acmasini biliyorum @nuh2ltr arkasimin dedigi gibi for döngüsü mantigini cözmek istedim ve harika anlatimi ile sagolsun mantigi anladim @nuh2ltr estafurullah kodlama konusunda üsdat oldugunuz belli ben az cok kendimce birseyler yapabiliyorum ama sizin yaninizdan bile gecemem yardimlarin icin tekrar cok tesekkür ederim Saygilar 1 Quote Link to comment Share on other sites More sharing options...
nuh21tr Posted January 24, 2020 Share Posted January 24, 2020 Rica ederim güzel arkadaşım. Bu ala denilemeyecek kadar az ve kayda değer olmayan tecrübemle bir şeyler aktarabildiysem ne mutlu bana. Allah'a emanet olunuz. Hürmet ederim. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.