Nasıl yapılır: şu anda kullan mı, dosya taşıma

Makale çevirileri Makale çevirileri
Makale numarası: 140570 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bazen, yeniden adlandırmak veya sistem tarafından kullanılmakta dosyaları taşımak Win32 uygulamaları gerekir. Bir ortak, bir yazılım paketi ayarını tamamladığınızda, kendilerini kullanıcının sabit diskten kaldırmak gereken Kurulum programları örnektir. Bazı durumlarda, bunlar da sistem tarafından kullanılmakta aygıt sürücüleri taşımanız gerekir. Uygulamalar, bu dosyaları silmek veya işletim sisteminden Yardım gerekir.

Windows 95 ve Windows NT kaldırmak için <a0></a0>, uygulamaları yardımcı olacak benzersiz bir yöntem sağlamak her değiştirin veya, kullanımda olan dosyaları ve dizinleri yeniden adlandırın. Iki platformlar, bu yöntemleri ne oluşturmak farklı olsa da her ikisini de uygulama işlemek için hangi dosyaların belirtir ve onu yeniden başlatıldığında bunları sistem işlemleri için genel bir strateji paylaşır. Bu makalede, her Windows Platformu tarafından sağlanan yöntemi uygulamaları nasıl kullanılacağı açıklanır.

Daha fazla bilgi

Windows NT'de dosyaları taşıma

Win 32 tabanlı uygulamalarda Windows NT'DE çalışan MoveFileEx() ile MOVEFILE_DELAY_UNTIL_REBOOT bayrağının taşımak için değiştirmek veya dosya ve dizinleri kullanılmakta silmek için kullanmanız gerekir. Windows NT önyükleme programı taşınır, sistem başlatıldıktan sonraki açışınızda, değiştirmek veya belirtilen dosyaları ve dizinleri silin.

Taşımak veya bir dosya veya dizin kullanımda olan değiştirmek için uygulamanın aynı birimde bir kaynak ve hedef yolunu belirtmelisiniz (örneğin, C sürücüsü:). Hedef yolu varolan bir dosya, üzerine yazılır. Hedef yolu varolan bir dizinse, yazılmaz ve kaynak ve hedef yollar değişmeden kalır. Taşımak veya bir dosyayı değiştirin veya bir dizini taşımak için bir örnek çağrı aşağıdadır:
   // Move szSrcFile to szDstFile next time system is rebooted
   MoveFileEx(szSrcFile, szDstFile, MOVEFILE_DELAY_UNTIL_REBOOT);
				
bir dosya veya dizin silmek için <a0></a0>, uygulama için NULL hedef yolu ayarlamanız gerekir. Kaynak yolu bir dizin, yalnızca boş olması durumunda, kaldırılacak. Dosyaları bir dizinden kaldırmak için MoveFileEx() kullanmanız gerekiyorsa, önce bilgisayarınızı yeniden başlatmalısınız Not dizini kaldırmak için MoveFileEx() çağırabilirsiniz. Bir dosyayı silmenize ya da bir dizini boş bir örnek aşağıdadır:
   // Delete szSrcFile next time system is rebooted
   MoveFileEx(szSrcFile, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
				

Windows 95'te dosya taşıma

Windows 95 MoveFileEx() uygulamıyor; ancak taşıma, yerine Win 32 tabanlı, 16-bit Windows tabanlı ve MS-DOS'A tabanlı uygulamalar için alternatif bir yol sağlar veya silme dosyaları (ancak olmayan dizinler), şu anda kullanılıyor. Bu özellik, Wininit.ini adlı bir dosya [rename] bölümünü uygulanır. Wininit.ini Windows dizininde yoksa, sistem yüklediğinde Wininit.exe bunu işler. Wininit.ini işlenen sonra Wininit.exe Wininit.bak için adlandırır.

<a0>[Rename]</a0> bölümünün sözdizimi şöyledir:
   DestinationFileName=SourceFileName
				
DestinationFileName SourceFileName gerekir aynı birimde bulunan ve kısa (8.3) dosya adları olması Wininit.ini korumalı mod disk sistemi yüklenir ve uzun dosya adları yalnızca korumalı mod disk sistemi çalıştırırken kullanılabilir önce işlenir. Wininit.ini uzun dosya adlarıyla belirtilen hedef ve kaynak dosyaları göz ardı edilir.

[Rename] bölümü, her satırda tek bir dosya ile birden çok satır olabilir. Bir dosyayı silmek için <a0></a0>, DestinationFileName NUL belirtin. Bazı girdi örnekler:
   [rename]
   NUL=C:\TEMP.TXT
   C:\NEW_DIR\EXISTING.TXT=C:\EXISTING.TXT
   C:\NEW_DIR\NEWNAME.TXT=C:\OLDNAME.TXT
   C:\EXISTING.TXT=C:\TEMP\NEWFILE.TXT
				
ilk satırı Temp.txt silinmesine neden olur. Ikinci Existing.txt yeni bir dizine taşınmasına neden olur. Üçüncüsü, taşınamaz ve yeniden adlandırıldı oldname.txt neden olur. Dördüncü newfile.txt tarafından üzerine varolan bir dosyayı neden olur.

Uygulamaları WritePrivateProfileString() olabilir, çünkü birden fazla satır ile aynı DestinationFileName, girişleri özellikle DestinationFileName "NUL.", [rename] bölümüne yazmak için kullanmamalısınız Bunun yerine, Wininit.ini ayrıştırma ve girişler <a0>[rename]</a0> bölümünün sonuna ekleme girişler eklemelisiniz.

Not: Başlığı [rename] bölümü ve içindeki dosya adları, herhangi bir birleşimi büyük ve küçük harfleri olabilir, çünkü Wininit.ini ayrıştırmak için her zaman büyük/küçük harf duyarlı bir arama kullanın.

Wininit.ini kullanan uygulamalar için Windows dizinindeki var olup olmadığını denetlemelisiniz. Wininit.ini varsa, sistem son olarak yeniden başlatıldığından bu yana sonra başka bir uygulama için yazmıştır. Bu nedenle, uygulama açmak ve girişleri [rename] bölümüne ekleyin. Wininit.ini yoksa, uygulama oluşturmanız ve [rename] bölümüne ekleyin. Diğer uygulamalardan girişleri uygulamanız tarafından yanlışlıkla silinmez sağlar.

Sistemin yeniden önyüklenmesi için önce bir dosyayı yeniden adlandırma işlemi geri almak için <a0></a0>, karşılık gelen satır Wininit.ini dosyası [rename] bölümünden kaldırmalısınız.

Özellikler

Makale numarası: 140570 - Last Review: 21 Kasım 2006 Salı - Gözden geçirme: 4.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Win32 Uygulama Programlama Arabirimi, Ne zaman ne ile kullanilir:
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • the operating system: Microsoft Windows 2000
    • Microsoft Windows Millennium Edition
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows XP
Anahtar Kelimeler: 
kbmt kbapi kbfileio kbhowto kbkernbase kbprogramming KB140570 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:140570

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com