Làm th? nào đ? di chuy?n các t?p đang dùng

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 140570 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Đôi khi Win32 các ?ng d?ng c?n ph?i xóa, đ?i tên ho?c di chuy?n t?p hi?n nay đang đư?c s? d?ng b?i h? th?ng. M?t trong nh?ng ví d? ph? bi?n là thi?t l?p mà các chương tr?nh c?n ph?i lo?i b? m?nh kh?i đ?a c?ng c?a ngư?i dùng khi h? đang đ? hoàn thành vi?c thi?t l?p m?t gói ph?n m?m. Đôi khi, h? c?ng c?n ph?i di chuy?n đi?u khi?n thi?t b? hi?n đang đư?c s? d?ng b?i h? th?ng. Các ?ng d?ng c?n s? giúp đ? t? h? đi?u hành đ? xóa ho?c di chuy?n các t?p này.

Windows 95 và Windows NT m?i cung c?p m?t phương pháp duy nh?t cho vi?c giúp các ?ng d?ng đ? lo?i b?, thay th?, ho?c đ?i tên t?p tin và thư m?c có s? d?ng. M?c dù hai n?n t?ng khác nhau như th? nào h? th?c hi?n nh?ng phương pháp, c? hai chia s? m?t chi?n lư?c t?ng th?, nơi mà các ?ng d?ng ch? đ?nh nh?ng t?p tin đ? x? l?, và h? th?ng x? l? chúng khi nó kh?i đ?ng l?i. Đi?u này bài vi?t gi?i thích cách các ?ng d?ng có th? s? d?ng các phương pháp đư?c cung c?p b?i m?i N?n t?ng Windows.

THÔNG TIN THÊM

Di chuy?n các t?p tin trong Windows NT

Win32 d?a trên các ?ng d?ng ch?y trên Windows NT nên s? d?ng MoveFileEx() v?i c? MOVEFILE_DELAY_UNTIL_REBOOT đ? di chuy?n, thay th?, ho?c xóa t?p tin và thư m?c hi?n đang đư?c dùng. Sau khi h? th?ng đư?c kh?i đ?ng l?i, các Windows NT bootup chương tr?nh s? di chuy?n, thay th? ho?c xóa các t?p tin đư?c ch? đ?nh và thư m?c.

Đ? di chuy?n ho?c thay th? m?t t?p tin ho?c thư m?c trong s? d?ng, m?t ?ng d?ng ph?i ch? ra đư?ng d?n c? m?t ngu?n và đích trên cùng m?t ? đ?a (ví d?, ? đ?a C:). N?u đư?ng d?n đích là m?t t?p tin hi?n có, nó s? ghi đè. N?u đư?ng d?n đích là thư m?c hi?n có, nó s? không th? b? ghi đè và đư?ng d?n ngu?n và đích s? v?n không thay đ?i. Đây là m?t ví d? g?i đ? di chuy?n ho?c thay th? m?t t?p ho?c di chuy?n m?t thư m?c:
   // Move szSrcFile to szDstFile next time system is rebooted
   MoveFileEx(szSrcFile, szDstFile, MOVEFILE_DELAY_UNTIL_REBOOT);
				
Đ? xóa m?t t?p tin ho?c thư m?c, các ?ng d?ng ph?i thi?t l?p các đi?m đ?n đư?ng d?n đ?n NULL. N?u đư?ng d?n ngu?n là m?t thư m?c, nó s? b? lo?i b? ch? khi nó là s?n ph?m nào. Lưu ? r?ng n?u b?n ph?i s? d?ng MoveFileEx() đ? lo?i b? các t?p tin t? m?t thư m?c, b?n ph?i kh?i đ?ng l?i máy tính trư?c khi b?n có th? g?i MoveFileEx() đ? lo?i b? thư m?c. Đây là m?t ví d? v? làm th? nào đ? xóa m?t t?p tin ho?c r?ng m?t thư m?c:
   // Delete szSrcFile next time system is rebooted
   MoveFileEx(szSrcFile, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
				

Di chuy?n các t?p tin trong Windows 95

Windows 95 không th?c hi?n MoveFileEx(), nhưng cung c?p m?t thay th? cách cho t?t c? Win32-d?a, 16-bit d?a-trên-Windows, và MS-MS-DOS-d?a các ?ng d?ng đ? di chuy?n, thay th?, ho?c xoá t?p tin (nhưng không ph?i thư m?c) mà đang b? dùng. Kh? năng này đư?c th?c hi?n thông qua [đ?i tên] ph?n c?a m?t t?p tin tên là Wininit.ini. N?u Wininit.ini có m?t trong các Thư m?c Windows, Wininit.exe tr?nh nó khi h? th?ng kh?i đ?ng. M?t l?n Wininit.ini đ? đư?c x? l?, Wininit.exe đ?i tên nó đ? Wininit.bak.

Cú pháp c?a ph?n [đ?i tên] là:
   DestinationFileName=SourceFileName
				
DestinationFileName và SourceFileName ph?i n?m trên cùng m?t ? đ?a và là tên t?p tin (8,3) ng?n b?i v? Wininit.ini x? l? trư?c khi các ch? đ? đư?c b?o v? trên đ?a h? th?ng đư?c n?p, và tên t?p tin dài ch? có s?n khi đ?a ch? đ? đư?c b?o v? h? th?ng đang ch?y. Đi?m đ?n và t?p ngu?n đư?c xác đ?nh trong Wininit.ini v?i tên t?p tin dài đư?c b? qua.

Ph?n [đ?i tên] có th? có nhi?u đư?ng v?i m?t t?p tin trên m?i d?ng. Đ? Xoá b? m?t t?p, ch? đ?nh NUL như DestinationFileName. Dư?i đây là m?t s? m?c nh?p Ví d?:
   [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
				
D?ng đ?u tiên gây ra Temp.txt đ? đư?c xóa. Nh?ng nguyên nhân th? hai Existing.txt đư?c chuy?n đ?n m?t thư m?c m?i. Th? ba nguyên nhân Oldname.txt đ? đư?c di chuy?n và đ?i tên thành. Th? tư gây ra t?p hi?n có đư?c ghi đè b?i Newfile.txt.

Các ?ng d?ng không nên s? d?ng WritePrivateProfileString() đ? vi?t m?c đ? [đ?i tên] ph?n v? có th? có nhi?u đư?ng v?i cùng m?t DestinationFileName, đ?c bi?t là n?u DestinationFileName là "nul." Thay vào đó, h? nên thêm m?c b?ng phân tích cú pháp Wininit.ini và ph? thêm các m?c đ? cu?i ph?n [đ?i tên].

Lưu ?: Luôn luôn s? d?ng m?t t?m ki?m qu?n đ? phân tích cú pháp Wininit.ini v? các tiêu đ? c?a ph?n [đ?i tên] và tên t?p tin bên trong nó có th? có b?t k? s? k?t h?p c?a ch? hoa và ch? cái.

Các ?ng d?ng s? d?ng Wininit.ini nên ki?m tra c?a nó t?n t?i trong các Thư m?c Windows. N?u Wininit.ini là hi?n nay, sau đó m?t ?ng d?ng có b?ng văn b?n đ? nó k? t? khi h? th?ng đư?c kh?i đ?ng l?i cu?i. V? v?y, các ?ng d?ng nên m? nó và thêm các m?c vào ph?n [đ?i tên]. N?u Wininit.ini không ph?i là hi?n nay, các ?ng d?ng nên t?o ra nó và thêm vào các [đ?i tên] ph?n. Làm như v?y đ?m b?o r?ng m?c t? chương tr?nh khác s? không b? xóa vô t?nh c?a ?ng d?ng c?a b?n.

Đ? hoàn tác m?t ho?t đ?ng đ?i tên t?p tin trư?c khi h? th?ng đư?c kh?i đ?ng l?i, b?n ph?i lo?i b? các d?ng tương ?ng t? ph?n [đ?i tên] Wininit.ini t?p tin.

Thu?c tính

ID c?a bài: 140570 - L?n xem xét sau cùng: 18 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft Win32 Application Programming Interface, khi đư?c dùng v?i:
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
T? khóa: 
kbapi kbfileio kbhowto kbkernbase kbprogramming kbmt KB140570 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:140570

Cung cấp Phản hồi

 

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