içinde dosya uzantısı yok hatası veren script


İçinde dosya uzantısı yok hatası
Mükemmel işletim sistemi yoktur Windowsta bünyesinde birçok açık ve hata barındırıyor , mesela bir klasör isminde boşluk olursa script içerisinde veya kodlamada sıkıntılara sebep olabiliyor , geçenlerde bir arkadaşa

yolladığım scriptin çalışmadığını söylemesi üzerine team ile bağlanıp kontrol ettiğimde tuhaf bir hata iletisi verdiğini farkettim

Dosya uzantısı yok hatası

işin garibi script normalde çalışıyordu fakat nezaman içerisine Yönetici yetkilerinde çalışması için buradaki gerekli kodları eklesem üstteki hatayı veriyordu , aynı script aynı kodlarla başka bilgisayarlarda gayet düzgün çalışıyordu , Artkadaşın sistemi yükseltme yapıldığından , temiz kurulum önerdim , sıfırdan formatlandığında hata iletisi aynen devam ediyordu , bunun bir Vbs çalışma hatası olması ihtimaline karşı aşağıdakileri uyguladım:

1. Komut istemini admin yetkilerin de çalıştırıp sırası ile aşağıdaki komutları uyguladım

assoc .vbs=VBSFile
cscript.exe //H:WScript
Regsvr32 vbscript.dll

Böylece mesela Notepad ++ ile ilişkilendirilmiş olan Vbs dosyalarının çalışmasındaki hata giderilebilirdi lakin işe yaramadı.

2. Pek umudum olmasada Aşağıdaki anahtardaki değerin bozulup bozulmadığını kontrol ettim

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

eğer bozulma varsa orjinal değeri olan aşağıdaki ile değiştirecektim

C:\Windows\system32\userinit.exe,

Fakat aşağıdaki resimde de görüldüğü gibi değerde herhangi bir hata yoktu

userinit değeri

Yabancı kaynaklardaki hiçbir çözüm önerisi de işe yaramadı , bu özel duruma sebep olan birşey olmalıydı , gözden kaçırdığımız birşey sonra aniden kullanıcı ismi gözüme takıldı sanırım telepatik birşey olmuş olacakki arkadaşın da aklına aynısı gelmiş ve hemen hemen aynı zamanda Kullanıcı ismi kelimesini telaffuz ettik , acaba kullanıcı isminden dolayı bunu yapıyor olabilirmiydi bunu anlamanın yolu aşağıdaki kriterlere dikkat ederek yeni bir kullanıcı ismi açmaktı :

1. Kullanıcı ismi mesela isim soyisim ise asla arada boşluk olmayacak (gerekirse alt çizgi kullanılacak)
2. KUllanıcı isminde Türkçe karakter olmayacak

Ve BINGO sorun çözülmüştü yeni kullanıcı ismi mesela "sordum" olarak açıldığında scriptin ilk resimdeki hatayı vermeden çalıştığını gözlemledik

kullanıcı isminde boşluk

Eğer kullanıcı isminde boşluk olursa , windows masaüstü yolu olarak scripti bulamıyordu , aynı script "C" veya "D" dizininde mükemmel çalışıyordu , bunu test etmek için komut isteminden "C:\Program Files\Windows NT" dizinindekileri görüntülemeye çalıştım

Cmd boşluk testi

tırnak işaretleri koymadığımda bulunamadı hatası veriyordu işte aynı şey kullanıcı isminde boşluk olduğunda meydana geliyor ve "içinde dosya uzantısı yok" gibi abuk bir hata iletisi gösteriyordu. Çözüm olarak karşımıza iki yaklaşım çıkıyor , ilkinde isminde boşluk olanlar için scriptte kod değişkliğine gidip çift tırnak işareti kullanmak (veya CHR(34) kodundan faydalanmak) , ikincisinde ise ; Hesap isminde boşluk olmayan yeni bir hesap açmak ve eskisini silmek , fçünkü mevcut kullanıcı hesabının ismini değiştirdiğimizde hernedense hata devam etmektedir , umarım benzeri hatayı alanların işine yarar.


2 Yorum Var
  1. Avatar for Velociraptor
  2. Avatar for harun

Yorum Ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Captcha