Jump to content

Klasör icine Klasör Acmak


Skorpion
 Share

Recommended Posts

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 by Skorpion
Link to comment
Share on other sites

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


   

 

  • Thanks 1
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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].

  • Thanks 1
Link to comment
Share on other sites

 

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].
  • Thanks 1
Link to comment
Share on other sites

 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

 

 
  • Thanks 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...