Sayfalarımızda sizlerle çeşitli scriptler paylaşıyoruz bunlar genelde kullanıcının karmaşık olmayan işlemlerini kolaylaştırmak amacıyla ve temel bazı script komutlarıın tanıtılması amacıyla verilmektedir
1. vbs ile klasör oluşturalım
Eğer Visual Basic Script dilinde bir klasör oluşturacaksak belkide bunu yapmanın en basit yolu aşağıdaki kodları kullanmaktır
with CreateObject("Shell.Application") set oFolder = .NameSpace("D:\") if (not oFolder is nothing) then oFolder.NewFolder("sordum.net") end with
NameSpace("D:\") dizini temsil ediyor , ve NewFolder("sordum.net") te sordum.net isminde yeni bir klasör oluşturulacağını belirtmektedir (Bu kısımları kendinize göre editleyebilirsiniz) , elbette farklı kodlarla da klasör oluşturma işi yapılabilecekken neden bu kodu seçtik derseniz , alt klasör oluşturmayı da kolayca sağladığı için diyebilirim , mesela üstteki kod D:\Sordum.net isminde bir klasör oluşturur gelin bunun içine birkaç alt klasör daha oluşturalım
2. vbs ile Klasör ve alt klasör oluşturalım
alt klasör oluşturmak için ğstteki kodda sadece klasör ismimize ilaveler yapmamız yeterlidir mesela D dizinimde sordum.net isminde bir klasör oluşturup bunun içerisinde "b" onunda içerisinde "c" isimlmerinde birer alt klasör oluşturmak istersek kodu aşağıdaki şekilde düzenlememiz yeterlidir.
with CreateObject("Shell.Application") set oFolder = .NameSpace("D:\") if (not oFolder is nothing) then oFolder.NewFolder("sordum.net\b\c") end with
Görüldüğü gibi kodlar, kolayca alt klasör oluşturmamıza oldukça elverişli , Elbette kodlar eğer klasör varsa sadece uyarı çıkartıp yoksa klasör oluşturma şeklide de değiştirilebilir bu örnek kodlamayı yazının sonundaki linkten indirebilirsiniz.
3. Bat ile klasör oluşturalım
Daha önceki yazılarımızda şöyle bir ifade kullanmıştık ; bir iş hangi script veya programlama dilinde en az kod satırı ile yapılabiliyorsa o kullanılmalıdır , mesela klasör oluşturma işi .bat ile çok daha kolaydır ve üstte yaptığımız işi basitçe aşağıdaki kodla gerçekleştirir
mkdir D:\sordum.net
Alt klasör oluşturmanın mantığı da üstteki vbs kodundaki ile tamamen aynıdır, yani klasör isminin sonuna alt klasörleri ilave edeceğiz
4. Bat ile klasör ve Alt klasör oluşturalım
Üstteki örneğimiz ile aynı olması açısından yine D:\sordum.net klasörünün içerisine "b" ve onunda içerisine "c" isimlerinde alt klasörler oluşturalım
mkdir D:\sordum.net\b\c
vbs de kaç satır kod kullandık .bat scriptinde kaç satır , Elbette kodlar KLasör ismi kontrol ettirilip eğer yoksa oluşturulabilir vbs de kodlama 12 satır civarı olduğundan burada paylaşılmadı fakat .bat ile olan çok kısa olduğundan vermekte bir sakınca görmedik
@echo off if exist D:\sordum.net echo "Klasor zaten var" if not exist D:\sordum.net mkdir D:\sordum.net pause
Üstteki kodlarda ikinci satır ile klasörün olup olmdığı kontrol ediliyor (if exist) eğer yoksa "D:\sordum.net" ieminde bir klasör oluşturuluyor , sondaki pause eklranın işlemden sonra kaybolmamasını sağlar bunu kullanış sebebimiz; eğer Klasör varsa "Klasor zaten var" yazısının kullanıcıya gösterilebilmesi içindir. Üstteki tüm kodları ve ilave scriptleri aşağıdaki linkten indirebilirsiniz.
Hocam Ben Sağ Tuşa VBScript Atamayı Öğrendim, Sağ Tuşa Basıldığında Yeni Yazan Yerin İçinde Yeni VBS Dosyası Oluşturacak, Fakat Bir Sorunum Var. Ben Sağ Tuşa Basılan Yerde Oluşmasını İstiyorum, Nasıl Yapacağım?
Cevabı kendin bulmuşun , eline sağlık boşluk içeren dosya / Klasör isimlerinde genelde hem bat hemde vbs de tırnak işareti kullanılıyor doğrudur.
Düzeltme:
Tamam dır,Şu şekilde olması lazım mış.
echo on
mkdir D:\Yedekler
if exist D:\Yedekler echo "Klasor zaten var"
if not exist D:\Yedekler mkdir D:\Yedekler
mkdir D:\Yedekler\Desktop
XCOPY %userprofile%\Desktop\*.* D:\Yedekler\Desktop /s/h/e/y
mkdir D:\Yedekler\Documents
XCOPY %userprofile%\Documents\*.* D:\Yedekler\Documents /s/h/e/y
mkdir D:\Yedekler\Downloads
XCOPY %userprofile%\Downloads\*.* D:\Yedekler\Downloads /s/h/e/y
mkdir D:\Yedekler\Favourites
XCOPY %userprofile%\Favourites\*.* D:\Yedekler\Favourites /s/h/e/y
mkdir D:\Yedekler\Music
XCOPY %userprofile%\Music\*.* D:\Yedekler\Music /s/h/e/y
mkdir D:\Yedekler\Videos
XCOPY %userprofile%\Videos\*.* D:\Yedekler\Videos /s/h/e/y
mkdir D:\Yedekler\OneDrive
XCOPY %userprofile%\OneDrive\*.* D:\Yedekler\OneDrive /s/h/e/y
mkdir D:\Yedekler\Favorites
XCOPY %userprofile%\Favorites\*.* D:\Yedekler\Favorites /s/h/e/y
mkdir D:\Yedekler\Links
XCOPY %userprofile%\Links\*.* D:\Yedekler\Links /s/h/e/y
mkdir D:\Yedekler\"My Documents"
XCOPY %userprofile%\"My Documents"\*.* D:\Yedekler\"My Documents" /s/h/e/y
mkdir D:\Yedekler\"My Music"
XCOPY %userprofile%\"My Music"\*.* D:\Yedekler\"My Music" /s/h/e/y
mkdir D:\Yedekler\"My Pictures"
XCOPY %userprofile%\"My Pictures"\*.* D:\Yedekler\"My Pictures" /s/h/e/y
mkdir D:\Yedekler\"My Videos"
XCOPY %userprofile%\"My Videos"\*.* D:\Yedekler\"My Videos" /s/h/e/y
Klasör adında boşluk varsa şu şekilde"" arasına alınarak hedef klasöre / klasörü taşıma sağlanabilir.
Örnek : "Klasör Adı" tırnak içine almak yetiyor.
Bilginize.
Merhaba Hocam,
Elinize sağlık bu script dizini baya işime yaradı.Ben burada windows 7 ve sonrası olarak ayırdım D:/ dizininde Yedekler isimli bir klasör oluşturdum ve Belgelerim klasöründeki her klasörüde ayrı ayrı oluşturmuş olduğum D:\Yedekler klasörünün içine ayrı klasörler olarak oluşturmasını istedim.Komut sorunsuz çalışıyor fakat (Xp de denemedim) Windows 7 de My Videos,My Music gibi boşluk olan klasörleri ilk veya son isimlerine göre taşıyor.Zaten altta hazırlamış olduğum komutta anlayacaksınız.
echo off
mkdir D:\Yedekler
if exist D:\Yedekler echo "Klasor zaten var"
if not exist D:\Yedekler mkdir D:\Yedekler
mkdir D:\Yedekler\Desktop
XCOPY %userprofile%\Desktop\*.* D:\Yedekler\Desktop /s/h/e/y
mkdir D:\Yedekler\Documents
XCOPY %userprofile%\Documents\*.* D:\Yedekler\Documents /s/h/e/y
mkdir D:\Yedekler\Downloads
XCOPY %userprofile%\Downloads\*.* D:\Yedekler\Downloads /s/h/e/y
mkdir D:\Yedekler\Favourites
XCOPY %userprofile%\Favourites\*.* D:\Yedekler\Favourites /s/h/e/y
mkdir D:\Yedekler\Music
XCOPY %userprofile%\Music\*.* D:\Yedekler\Music /s/h/e/y
mkdir D:\Yedekler\Videos
XCOPY %userprofile%\Videos\*.* D:\Yedekler\Videos /s/h/e/y
mkdir D:\Yedekler\OneDrive
XCOPY %userprofile%\OneDrive\*.* D:\Yedekler\OneDrive /s/h/e/y
mkdir D:\Yedekler\Favorites
XCOPY %userprofile%\Favorites\*.* D:\Yedekler\Favorites /s/h/e/y
mkdir D:\Yedekler\Links
XCOPY %userprofile%\Links\*.* D:\Yedekler\Links /s/h/e/y
mkdir D:\Yedekler\My Documents
XCOPY %userprofile%\My Documents\*.* D:\Yedekler\My Documents /s/h/e/y
mkdir D:\Yedekler\My Music
XCOPY %userprofile%\My Music\*.* D:\Yedekler\My Music /s/h/e/y
mkdir D:\Yedekler\My Pictures
XCOPY %userprofile%\My Pictures\*.* D:\Yedekler\My Pictures /s/h/e/y
mkdir D:\Yedekler\My Videos
XCOPY %userprofile%\My Videos\*.* D:\Yedekler\My Videos /s/h/e/y
Varmıdır ki bir çaresi olduğu gibi alsın.?
sürekli oluşturmaktan kastınız nedir , açılışta mı oluştursun eğer öyle ise aşağıdaki linke bir göz atın
Web Link ...
Peki bu dosyayı sürekli oluşturması için ne yapmalıyım hocam?
Normaldir , ama sen "C:\Windows\System32" içine dosya eklemek istediğin için sağ tıklayıp yönetici olarak çalıştır demişsin. yoksa elbetteki normal olarak çalıştırdığında diğer dizinlere klasör oluşturacaktır , selamlar
bazı denemeler yaptım.
"C:\Users" ------ "C:\PerfLogs" ------ "C:\ProgramData" gibi konumlara normal çalıştırarakda klasör eklenebiliyor,yani yönetici olarak çalıştırmaya gerek yok.
"C:\Program Files (x86)" ----- "C:\Program Files" ------- "C:\Windows" gibi konumlara sadece yönetici olarak çalıştırarak eklenebiliyor,normal çalıştırdığımız zaman kod hata veriyor.
Sahipliğini alma değil de , sağ tıklayıp yönetici olarak çalıştır demeniz gerekir. Kodlar sorunsuz çalışıyor.Vbs nin tıklandığında yönetici yetkisi istemesini sağlamak istiyorsak aşağıdaki kodları kullanabiliriz
Web Link ...
cevabınız için teşekkürler. şuan sahipliğini alıp denedim yine olmadı. mesela şu C:\Windows\System32 konuma Deneme adında bir klasör oluşturmak istesem vbs kodu nasıl olmalı. usta birde bu oluşturduğumuz klasörleri silme vbs kodu nedir?
Yetki sebebi ile oluşmuyor olabilir , scriptleri yönetici yetkilerinde çalıştırmayı deneyiniz
selam. yukarda verdiğiniz vbs ile klasör oluştururken sadece şu konuma oluşturabiliyorum ("C:\") . mesela şu konumlara ("C:\Program Files\") veya ("C:\Windows\") gibi konumlara oluşturmak istiyorum olmuyor neden. kodda hata yapıyorum galiba kod nasıl olmalı ?