1

Konu: Rename komutu

Sevgili Arkadaşlar,
Rename komutunu kullanarak bir dosyanın adını değiştirince dosya adı küçükharfe çevrilerek değişiyor.
Örneğin : Rename file1.txt to Gelen Mektup.txt
komutunun sonucunda file1.txt in adı gelen mektup.txt oluyor. Bunu, yazdığım gibi, yani Gelen Mektup.txt olarak değiştirmenin bir yolu var mı?
İlgilenecek arkadaşlara şimdiden çok teşekkür ederim.
Sevgilerimle.
Erdal

2

Re: Rename komutu

kullandigin kodlari yayinlarsan daha iyi yardimci olabiliriz...

yinede proper() helpte incele

bir ornek

Visual Fox Pro
Local lcProperTest

lcProperTest='yeni gelen.txt'
Wait Window Proper(m.lcProperTest)
&& Sonuc : Yeni Gelen.txt

3

Re: Rename komutu

Sevgili Soykan,
kullandığım program satırı şöyle:

RENAME "&gerad" To "&degis"

Önerin üzerine komutu şöyle yazdım:

RENAME "&gerad" To PROPER("&degis")

Fakat değişen birşey olmadı . Dosya adı gene hep küçük harf oldu.

Yardımın ve ayırdığın zaman için çok teşekkür ederim.
Sevgilerimle.
Erdal

4

Re: Rename komutu

Visual Fox Pro
DECLARE INTEGER MoveFile IN kernel32; 

        STRING lpExistingFileName,;
        STRING lpNewFileName
 
lpDosyaAd=GETFILE()
lpYeniDosyaAd=lpDosyaAd+"_yeni" && değişik dosya adı örnekleme
 
= MoveFile (lpDosyaAd, lpYeniDosyaAd) 
* aynı zamanda dizin adlarını da değiştirebilirsin
VFP9 SP2

5

Re: Rename komutu

Sevgili Konuka,
Göndermiş olduğun programla gene istediğim olmadı ama yeni birşey öğrendim. Ad değiştirme işini senin gösterdiğin yolla yaparsam dosya adı rename komutunun verdiği sonucun tersi oluyor ve dosya adı baştan sona büyükharf olarak değişiyor.
Benim istediğim ise şu:
Örneğin dosya1.txt isimli dosyayı, yazdığım gibi büyük ve küçük harfleri saklayarak değiştirebilmek. Yani dosya1.txt dosyasının adını aynen yazdığım gibi Gelen Mektup.txt olarak değiştirmek.
Yardımın ve harcadığın zaman için çok teşekkürederim.
Sevgilerimle.
Erdal

6

Re: Rename komutu

O zaman bu sekilde,

Visual Fox Pro
LOCAL lcOld,lcNew

lcOld='New Text Document.txt'
lcNew=PROPER('yeni mektup.txt')
 
oFso=CreateObject("Scripting.FileSystemObject")
oFso.MoveFile(m.lcOld,m.lcNew)

7

Re: Rename komutu

Soykan abi; kodu çalıştırdığımda aşağıdaki hatayı alıyorum.

OLE error code 0x800a0035: Unknown COM status code.

Neden olabilir?

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

8

Re: Rename komutu

erdal1941 yazdı:

Örneğin dosya1.txt isimli dosyayı, yazdığım gibi büyük ve küçük harfleri saklayarak değiştirebilmek. Yani dosya1.txt dosyasının adını aynen yazdığım gibi Gelen Mektup.txt olarak değiştirmek.


merhaba erdal
galiba kod senin istediğini yapıyor. ben denedim çalıştı
ancak GETFILE fonksiyonu dosya adını büyük harfe çeviriyor,  sen onu nasıl yazarsan aynen uyguluyor !
dosyaad="AbRaKaDaBrA.txt"
GETFILE() => sonuç:  ABRAKADABRA.TXT
yenidosyaadı="ABRAkadabra.tXt"
= MoveFile (DosyaAd, YeniDosyaAd) => sonuç: ABRAkadabra.tXt

PROPER fumksiyonu sadece ilk harfleri büyük yapıyor galiba -öyle istiyorsan kullan-, ancak movefile dosya adını "olduğu gibi" çeviriyor

VFP9 SP2

9

Re: Rename komutu

ugurlu2001 yazdı:

Soykan abi; kodu çalıştırdığımda aşağıdaki hatayı alıyorum.

OLE error code 0x800a0035: Unknown COM status code.

Neden olabilir?

Hangisi WSH  mi otekimi ?
Bende sorunsuz calisiyor

10 Son düzenleyen, ugurlu2001 (28.09.2009 10:52:03)

Re: Rename komutu

Visual Fox Pro
 

oFso.MoveFile(m.lcOld,m.lcNew)

Satırında hata veriyor.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

11

Re: Rename komutu

Sevgili Konuka,
Senin Uyarın üzerine getfile fonksiyonunu kaldırdım ve lpDosyaAd ile lpYeniDosyaAd değişkenlerini programın içine el ile girince programın çok güzel çalışıp isimler istediğim gibi değişti.
Bütün herşey için çok çok teşekkür ederim.
Sevgilerimle.
Erdal

Yanlız anlayamadığım birşey var. Programda lpExistingFileName, ve lpNewFileName değişkenlerini kullanmadığın halde neden deklare ettin?

12

Re: Rename komutu

ugurlu2001 yazdı:
Visual Fox Pro
 

oFso.MoveFile(m.lcOld,m.lcNew)

Satırında hata veriyor.

New Text File.txt dosyasinin var olmasi gerek , right click new ile bir text dosya yarat onda sonra dene

13

Re: Rename komutu

erdal1941 yazdı:

Yanlız anlayamadığım birşey var. Programda lpExistingFileName, ve lpNewFileName değişkenlerini kullanmadığın halde neden deklare ettin?


O API funksiyonlarının formatı , öyle kullanılıyor. parametreleri önceden declare edip komut ile geçiyorsun.
Yani Her form için bir kere DECLARE komutunu kullandığın zaman (form1.Init eventte) , uygulama -movefile(...,...)- komutunu dilediğin kadar ve yerde kullanabilirsin.
başka API örnekleri:

Visual Fox Pro
*!*DELETE FILE için

DECLARE INTEGER DeleteFile IN kernel32 ;
    STRING lpFileName

veya

Visual Fox Pro
*!*COPY FILE için

DECLARE INTEGER CopyFile IN kernel32 ;
    STRING  lpExistingFileName, ;
    STRING  lpNewFileName, ;
    INTEGER bFailIfExists
VFP9 SP2

14

Re: Rename komutu

Ufak bir uyari, MoveFile() API'yi kullanin, WSH kullanmayin. WSH guvenlik tehdidi olarak goruldugunden bircok yerde sistem yoneticileri tarafindan kullanim disi birakiliyor.

15

Re: Rename komutu

Emin değilim ama galiba bendeki hatada Antivirüsün yaptığı engelleme.

Çünkü daha önce çalışan bir çok Script komutu şu anda hata veriyor.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

16

Re: Rename komutu

oFso.MoveFile(m.lcOld,m.lcNew)
ile dosya adları değiştirilebiliyor. Klasör adları nasıl değiştirilebilir acaba fikri olan var mı

17

Re: Rename komutu

oFso.MoveFolder(m.lcOld,m.lcNew)

18

Re: Rename komutu

Çok teşekkürler.