Làm cách nào để buộc Windows đổi tên một tệp có ký tự đặc biệt?


86

Tôi có một bài hát mà Windows không thể phát vì có một dấu hỏi trong tên của tệp.

"Where Have All the Cowboys Gone?.ogg" // as an example

Vì vậy, tôi cố gắng đổi tên nó và Windows phàn nàn liệu tôi đã thử nó trong Explorer hay từ dấu nhắc lệnh.

Lỗi tôi gặp phải khi cố gắng sao chép, đổi tên hoặc di chuyển là:

Tên tệp, tên thư mục hoặc cú pháp nhãn âm lượng không chính xác

Có cách nào để Windows đổi tên trong trường hợp này không?

Cập nhật

Tôi sẽ theo dõi câu hỏi này, nhưng sau 13 câu trả lời và nhiều lần thử (ngoài các giải pháp của bên thứ 3), có vẻ như Windows không thể làm điều này (hoặc ít nhất là các cửa sổ của tôi không thể, không có tên ngắn). Vì vậy, tôi chấp nhận câu trả lời là giải pháp ban đầu của tôi khi sử dụng Linux. Thật tuyệt khi thấy Windows xử lý vấn đề này bằng cách nào đó, vì vậy đừng dừng lại chỉ vì tôi đã chấp nhận câu trả lời này, câu hỏi vẫn đứng vững!


5
Tôi có thể hỏi làm thế nào bạn có được trạng thái này? Windows thường sẽ không cho phép bạn làm điều này.
Michael Kohne

và câu trả lời là tôi đã nhận được tệp từ hộp Linux. nó thực sự là một tập tin .ogg. nhưng tôi đã tự hỏi vì tôi đang làm việc và không có linux của tôi làm thế nào để làm điều đó trong windows ... sẽ rất tốt để biết
codeLes

6
Hệ thống tập tin NTFS cho phép một số ký tự mà Windows không có. Nếu Windows đáp ứng các tệp như vậy, nó b0rks.
Đại tá Panic

1
Tôi đã từng có một flashdrive bị hỏng, chkdsk đã chuyển các tệp sang một khu vực khác nhưng vẫn giữ các tên bị hỏng có chứa các ký tự vui nhộn như CRLF hoặc thậm chí là backspace. :)
Nulano

1
@IvanChau: Không trùng lặp. Câu hỏi khác là về một không gian trong tên, trên thực tế, đó là một miếng bánh, không giống như cái này ở đây (với một ký tự đại diện).
Sz.

Câu trả lời:


42

Lấy một đĩa linux live-cd và sử dụng nó.


Từ nhà tôi vẫn sử dụng linux ... và tập tin nằm trong ổ cứng di động, tôi chỉ tự hỏi liệu Windows có thể xử lý nó không ... một cái gì đó giống như lệnh <b> Sudo </ b> hay gì đó
codeLes

Đây là một vấn đề ký tự đại diện, không phải là một vấn đề cho phép. Trong linux, mọi thứ đều là ký tự hợp lệ trong tên tệp (bao gồm cả ngắt dòng) trong Windows, có một tập hợp các ký tự dành riêng và không có cách nào hiệu quả để thoát chúng.
salmonmoose

3
các bản phân phối linux gần đây như ubfox hỗ trợ thành công các tính năng quan trọng nhất của NTFS.
Atmocreations

1
Ubuntu 9.04 hoàn toàn hoàn hảo với hỗ trợ NTFS, với một hoặc hai phiền toái (như nếu bị cắt điện và bạn khởi động vào Ubuntu để tiết kiệm thời gian khởi động vài giây, bạn không thể truy cập vào phân vùng windows cho đến khi bạn khởi động lại vào nó)
Phoshi

1
Về lý thuyết, @Pacerier, bạn có thể có thể, nhưng điều đó có nghĩa là bạn đang gắn ổ đĩa trong nhiều hệ điều hành đồng thời, đó thường là một ý tưởng tồi. Tắt máy và khởi động trong hệ điều hành mới.
salmonmoose

29

Bạn đã thử sử dụng phiên bản tên tập tin ngắn của tên của nó? Ví dụ

ren whereh~1.ogg where.ogg

Nếu đó là tệp duy nhất trong thư mục hiện tại bắt đầu bằng một vài chữ cái đầu tiên, thì hãy sử dụng 6 chữ cái đầu tiên của tên (bỏ qua khoảng trắng) theo sau là dấu ngã (~) sau đó là 1.


12
Do việc tạo tên ngắn là tùy chọn tùy thuộc vào cách Windows được cấu hình hiện tại, Murphy nói rằng OP đã tắt tên ngắn và tệp sẽ không có tên. Để tìm hiểu tên ngắn nếu nó hiện diện cho bất kỳ tệp nào, hãy sử dụng DIR / X sẽ thêm một cột hiển thị tên ngắn cho bất kỳ tệp nào khác với tên dài, nếu nó có một tên. Nếu có một tên ngắn, đây sẽ là một câu trả lời hợp lý.
RBerteig

Bạn thực sự nên thử cái này ... Tên tập tin ngắn đôi khi có thể hữu ích.
alex

4
không có tên ngắn, đã thử ví dụ của bạn và cả dir / x chứng tỏ rằng không có bất kỳ danh sách nào.
codeLes

24
  1. Trong Windows 7: Chạy cmd.exe trong Chế độ quản trị.
  2. cd vào Thư mục với tên tệp.
  3. run: chkdsk / V / f [Các tệp xấu của tôi nằm trên một ổ đĩa khác ngoài ổ đĩa OS, vì vậy nó có thể gỡ bỏ nó. Nếu đó là ổ đĩa hệ điều hành, nó có thể phải thực hiện giai đoạn này khi khởi động.]
  4. Chờ đã (Có thể phải khởi động lại).

Như bạn sẽ thấy kết quả là chkdsk thực sự đã xóa các tệp cho tôi. Vì vậy, nếu bạn muốn giữ các tệp, tôi không biết phải làm gì, nhưng điều này sẽ loại bỏ các tệp chắc chắn.

Kết quả / Nhật ký Cmd:

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
04/04/2010  02:19 PM         4,014,099 01 Los Lonely Boys - Se?orita - www.file2
4ever.com.mp3
04/04/2010  02:18 PM         3,125,942 12 Los Lonely Boys - La Contestaci?n - ww
w.file24ever.com.mp3
               2 File(s)      7,140,041 bytes
               2 Dir(s)  87,743,991,808 bytes free

E:\islag\Music\llb>chkdsk /V
The type of the file system is NTFS.
Volume label is FreeAgent Drive.

WARNING!  F parameter not specified.
Running CHKDSK in read-only mode.

CHKDSK is verifying files (stage 1 of 3)...
  231424 file records processed.
File verification completed.
  34 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
18 percent complete. (29338 of 245164 index entries processed)
An invalid filename 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 (3196
6) was found in directory 31962.
All filenames for File 31966 are invalid.
Minor file name errors were detected in file 31966.
An invalid filename 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.mp
3 (31973) was found in directory 31962.
All filenames for File 31973 are invalid.
Minor file name errors were detected in file 31973.
73 percent complete. (233817 of 245164 index entries processed)
Index entry 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 in index $I30
 of file 31962 is incorrect.
Index entry 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.mp3 in ind
ex $I30 of file 31962 is incorrect.
  245164 index entries processed.
Index verification completed.

Errors found.  CHKDSK cannot continue in read-only mode.

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
04/04/2010  02:19 PM         4,014,099 01 Los Lonely Boys - Se?orita - www.file2
4ever.com.mp3
04/04/2010  02:18 PM         3,125,942 12 Los Lonely Boys - La Contestaci?n - ww
w.file24ever.com.mp3
               2 File(s)      7,140,041 bytes
               2 Dir(s)  87,743,991,808 bytes free

E:\islag\Music\llb>chkdsk /V /f
The type of the file system is NTFS.
Cannot lock current drive.

Chkdsk cannot run because the volume is in use by another
process.  Chkdsk may run if this volume is dismounted first.
ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID.
Would you like to force a dismount on this volume? (Y/N) y
Volume dismounted.  All opened handles to this volume are now invalid.
Volume label is FreeAgent Drive.

CHKDSK is verifying files (stage 1 of 3)...
  231424 file records processed.
File verification completed.
  32 large file records processed.
  0 bad file records processed.
  0 EA records processed.
  0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
18 percent complete. (29339 of 245164 index entries processed)
Deleted invalid filename 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3
(31966) in directory 31962.
File 31966 has been orphaned since all its filenames were invalid
Windows will recover the file in the orphan recovery phase.
Correcting minor file name errors in file 31966.
Deleted invalid filename 12 Los Lonely Boys - La Contestaci?n - www.file24ever.c
om.mp3 (31973) in directory 31962.
File 31973 has been orphaned since all its filenames were invalid
Windows will recover the file in the orphan recovery phase.
Correcting minor file name errors in file 31973.
73 percent complete. (233642 of 245164 index entries processed)
Deleting index entry 01 Los Lonely Boys - Se?orita - www.file24ever.com.mp3 in i
ndex $I30 of file 31962.
Deleting index entry 12 Los Lonely Boys - La Contestaci?n - www.file24ever.com.m
p3 in index $I30 of file 31962.
  245164 index entries processed.
Index verification completed.
CHKDSK is scanning unindexed files for reconnect to their original directory.
  2 unindexed files scanned.
CHKDSK is recovering remaining unindexed files.
  2 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
  231424 file SDs/SIDs processed.
Cleaning up 41 unused index entries from index $SII of file 9.
Cleaning up 41 unused index entries from index $SDH of file 9.
Cleaning up 41 unused security descriptors.
Security descriptor verification completed.
  6871 data files processed.
CHKDSK is verifying Usn Journal...
  1116928 USN bytes processed.
Usn Journal verification completed.
Correcting errors in the master file table's (MFT) BITMAP attribute.
Windows has made corrections to the file system.

 244196000 KB total disk space.
 158175168 KB in 30003 files.
     22820 KB in 6873 indexes.
         0 KB in bad sectors.
    306168 KB in use by the system.
     65536 KB occupied by the log file.
  85691844 KB available on disk.

      4096 bytes in each allocation unit.
  61049000 total allocation units on disk.
  21422961 allocation units available on disk.

E:\islag\Music\llb>dir
 Volume in drive E is FreeAgent Drive
 Volume Serial Number is 5038-892A

 Directory of E:\islag\Music\llb

02/02/2011  12:18 PM    <DIR>          .
02/02/2011  12:18 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  87,743,979,520 bytes free

E:\islag\Music\llb>

Làm việc hoàn hảo! Đây nên là câu trả lời.
enb081

2
@ enb081 Không, đây không phải là câu trả lời, vì nó không liên quan gì đến câu hỏi, đó là cách đổi tên các tệp. Sheesh.
Jim Balter

12

chkdskđôi khi sẽ sửa tên tệp không hợp lệ. Bạn sẽ nhận được một thông báo về việc xóa tệp vì tất cả các tên tệp không hợp lệ và sau đó khôi phục tệp bị mất. Sau đó bạn có thể tìm thấy các tập tin trong C:\found.000\file0000.chk. Đây là một cách hiệu quả để loại bỏ các tệp vấn đề, nhưng không phải là cách tốt nhất nếu bạn muốn giữ chúng.


Thủ thuật đơn giản này chỉ giúp tôi. Tôi đã cam chịu mất tập tin sau khi chkdsk làm việc đó nhưng câu trả lời này đã nhắc nhở tôi \found.000.
davidbak

cảm ơn bạn. Đây là cách đơn giản nhưng hiệu quả
علیرضا

11

Cách tôi xóa tệp cứng đầu là bằng cách mở 7zip, tìm tệp và đổi tên tệp qua 7zip. Của tôi là một bài hát có một khoảng trống ở cuối tập tin.


Bạn có nghĩa là tập tin thậm chí không có trong một kho lưu trữ, nhưng bạn chỉ sử dụng 7-Zip để đổi tên nó trên hệ thống tệp? Thông minh.
Arjan

Điều này làm việc tuyệt vời. Tôi đã thử một vài lựa chọn khác ở đây, và đây là lựa chọn đầu tiên có hiệu quả.
rakensi

1
7zip đã có thể đổi tên tệp của bạn vì tên tệp kết thúc bằng dấu cách không phải là vấn đề trong Windows. Tên tệp chứa '?' là một vấn đề và 7zip không thể đổi tên chúng.
Jim Balter

Điều này hoạt động hoàn hảo với tôi, vì vấn đề của tôi hóa ra không phải là dấu hỏi thực sự, mà là các ký tự Unicode kỳ lạ chỉ hiển thị dưới dạng dấu hỏi trong trình quản lý tệp của tôi. Bằng cách nhập các tệp (đã có hàng trăm) vào kho lưu trữ 7-Zip và sau đó xuất lại chúng, 7-Zip chỉ đơn giản chuyển đổi các ký tự xấu thành dấu gạch dưới (_). Sau đó, tôi đã có thể làm việc với các tập tin một lần nữa. Vấn đề hoàn toàn được giải quyết. Cảm ơn cho một mẹo tuyệt vời!
Jesper

Tôi không thể đổi tên các tệp có ký tự ":": i.imgur.com/dZBqqeP.png
user598527

11

Hãy thử chỉ định đường dẫn UNC (xem Đặt tên tệp, đường dẫn và không gian tên ). Điều này được xung quanh tất cả các loại hạn chế. Bạn sẽ làm điều đó bằng cách sử dụng \\?\cú pháp.

Ví dụ: nếu tệp của bạn nằm trên máy tính để bàn của bạn (và ổ đĩa Windows của bạn là C :), bạn có thể làm

copy "\\?\C:\Users\codeLes\Desktop\Where Have All the Cowboys Gone?.ogg" "\\?\C:\Users\codeLes\Desktop\Where Have All the Cowboys Gone.ogg"

Lưu ý: Bạn không thể sử dụng các đường dẫn tương đối với cú pháp này; bạn phải xác định đường dẫn đầy đủ. Và nó không hoạt động với renlệnh, nhưng không hoạt động với copymove.


4
đã dùng thử, không may mắn "Tên tệp, tên thư mục hoặc cú pháp nhãn âm lượng không chính xác." Cảm ơn! Tôi đang đi đến điểm mà tôi nghĩ rằng câu trả lời chính xác là sử dụng Linux để đổi tên nó (điều mà tôi đã làm).
codeLes

Câu trả lời này chắc chắn là sai. Hạn chế về các ký tự hợp lệ là trong trình điều khiển NTFS trong nhân Windows. \\?\chỉ cần bỏ qua xử lý đường dẫn tệp trong thư viện thời gian chạy chế độ người dùng. Nó không cho phép mở tên tệp chứa 5 ký tự đại diện (*? "<>), Các ký tự dành riêng khác (/ |: \) hoặc ký tự điều khiển.
Eryk Sun

Nó hoạt động trong trường hợp của tôi: Tôi có một tên tệp có ký tự Unicode bên trong và có dấu \n . Đừng hỏi tôi làm thế nào để tôi tạo ra nó (vâng, tôi đang cố gắng xem liệu bạn có thể tạo nhiều tệp có cùng tên trong Windows không). Explorer, FreeCommander không thể xóa nó nhưng \\?\C:\...có thể.
Dio Phụng

8

Sử dụng Recuva . Nó chủ yếu nhằm phục hồi các tập tin bị xóa nhưng nó cũng có một tùy chọn để bao gồm các tập tin không bị xóa trong quá trình quét của nó.

Sau khi khởi chạy Recuva, từ chối trình hướng dẫn và chọn đúng đĩa. Sau đó, vào Tùy chọn, tìm và kiểm tra tùy chọn "quét các tệp không bị xóa" và khởi chạy quét. Sau một thời gian, nó sẽ hiển thị tất cả các tệp trên đĩa (cho dù có bị xóa hay không). Tìm tệp của bạn có tên không hợp lệ (tên đã được sửa trong chế độ xem), chọn chúng, nhấp chuột phải và lưu ("recovery") ở đâu đó.

nhập mô tả hình ảnh ở đây

Tôi vừa mới thực hiện nó (trên Windows XP).


Hoạt động tốt đối với tên tệp có nhúng /nmà 7-zip không thể thao tác.
davidbak

5

Công cụ Microsoft DISKEDIT.EXE là một công cụ cấp thấp để trực tiếp đọc và ghi dữ liệu đĩa thô. Bạn phải tải cụm chứa mục nhập thư mục cho tệp này và chỉ cần thay đổi vi phạm '?' ký tự vào một cái gì đó vô hại và ghi lại vào đĩa.

Theo hiểu biết của tôi, công cụ Microsoft Diskedit (không phải công cụ Norton Utility cùng tên, chỉ dành cho khối lượng FAT) đã được nhìn thấy lần cuối trong Windows 2000 SP4. Nhưng có một liên kết đến nó có thể được tìm thấy ở đây .

Để xác định đúng cụm, bạn có thể tải xuống phiên bản dùng thử của DiskExplorer cho NTFS .

Bạn sẽ bắt đầu với File-> Drive ... để mở ổ đĩa chứa tệp xấu này. Chọn Goto-> Root Directory để có chế độ xem thư mục. Điều hướng đến thư mục chứa tệp xấu của bạn bằng cách sử dụng các liên kết MFT #. Khi bạn đến đó, phía trên cùng của cửa sổ sẽ nói một cái gì đó như, "MFT # x12345 TRỰC TIẾP: 'dirname', ... blah blah blah ... bắt đầu từ cụm x9302AE , ... blah blah blah"

Bây giờ chuyển sang Microsoft đĩaedit. Đầu tiên làm File-> Open ... và chỉ định Volume Name C: (nếu tệp nằm trên ổ C: của bạn). Để trống tên tập tin âm lượng. Lấy số cụm bắt đầu đó và nhập nó vào đĩa di động trong phần Đọc-> Cụm NTFS ...-> Cụm bắt đầu (nhập số đó dưới dạng số hex).

Bây giờ sử dụng các phím mũi tên của bạn để cuộn xuống tên tệp xấu. Nó ở dạng unicode, vì vậy bạn sẽ tìm kiếm một cái gì đó như "Ở đâu. Có. Tất cả. Các .Cowboys. _ '). Chọn Write-> Nó để ghi lại vào đĩa.

Có một điểm khác để đánh (không chắc chắn nếu một hoặc cả hai là cần thiết). Bây giờ, quay lại DiskExplorer, nhấp vào Mft # cho tệp xấu. Bạn sẽ nhận được một màn hình với một cái cây ở bên trái có chữ "cấu trúc". Nhấp vào "Thuộc tính" trong cây. Nó sẽ hiển thị cho bạn một danh sách các thuộc tính, một trong số đó sẽ có giá trị tương đương $ 30 ... $ FILE_NAME. Vì vậy, $ 30 có tên tệp. Nhấp vào nút Body dưới nút $ 30 trong cây Structures. Chọn menu Xem-> dưới dạng Hex. Một vài dòng, bạn sẽ thấy tên tệp một lần nữa Ở đâu. Có .. vv Ở phía bên trái của màn hình, bạn sẽ thấy cột ngành, cho biết bạn đang xem khu vực đĩa nào.

Trở lại trên đĩa. Đừng đọc-> Ngành ... và nhập số ngành từ DiskExplorer. Như trước, cuộn xuống và thay thế ký tự "3F" bằng ký tự giống như bạn đã làm ở trên. Chọn Write-> Nó để ghi nó vào đĩa.

Tôi đã làm tất cả những điều này và các công cụ cho tôi biết rằng tôi đã thay đổi nhân vật, nhưng nhà thám hiểm thì không. Thư mục phải được lưu trữ ở đâu đó. Sau khi khởi động lại, thay đổi sẽ hiển thị.


+1 cho cách tiếp cận đúng (nhưng ít nhiều không thực tế), hy vọng nó sẽ nổi lên một chút và vượt qua ít nhất một số câu trả lời sai. ;)
Sz.

5

Hãy thử sử dụng công cụ của bên thứ ba, chẳng hạn như công cụ Ken Rename :

Ảnh chụp màn hình của Ken Rename

hoặc đổi tên chủ .

nhập mô tả hình ảnh ở đây

Đây là danh sách các công cụ đổi tên tập tin .

Tôi đã tự kiểm tra chúng, nhưng tôi đang chạy Windows Vista 64-bit; việc xử lý tập tin có thể khác nhau.

Nếu các công cụ đó không thành công, bạn có thể muốn cung cấp cho Windows PowerShell . Xem Đổi tên tệp trên Blog Windows PowerShell .


Tôi đã thử Directory Opus và nó không hoạt động (cùng một thông báo lỗi).
user14068

Tôi đã thử Linh hoạt Renamer 8.4 mà dường như để thực hiện các mẹo. Nguồn từ cùng một trang web mà bạn đề cập.
JohnnyBizzle

4

Bạn đã thử di chuyển nó vào một tập tin với đúng tên?

move "Where Have All the Cowboys Gone?.mp3" "Where Have All the Cowboys Gone.mp3"

2
đã cố gắng, không có may mắn. "Tên tệp, tên thư mục hoặc cú pháp nhãn âm lượng không chính xác"
codeLes

Nó làm việc cho tôi với copylệnh.
Nicolas

@Nicolas, bạn có nghĩa là đã có một ?hoặc *hoặc <hoặc >hoặc :nhân danh, và copy-ing chỉ làm việc? (Tôi chỉ thử nó và nó không cho tôi, không ngạc nhiên.)
Sz.

@Sz. Rất tiếc khi biết nó không hiệu quả với bạn. Tôi không nhớ tên tệp mà tôi phải đổi tên, nhưng nó hoạt động với tôi bằng copylệnh. Bạn cũng đã thử cygwinvà lệnh bash mv?
Nicolas

1
@Nicolas, nhờ cố gắng để giúp đỡ, nhưng quan điểm của tôi là những ký tự tôi liệt kê ở trên (và một vài người khác, giống như ", |, /, và tất nhiên các dấu chéo ngược (mà tôi dường như không thể nhập vào đây :))) đang trong một loại ký tự có vấn đề khác ( dành riêng ), và tôi sợ, cả copylệnh và Cygwinvòng đều không thể đổi tên chúng. (Bạn rất có thể có một số ký tự khác nhau trong tên tệp có vấn đề của bạn.)
Sz.

4
  • Nếu đó là nhiều hơn 1 tệp, ví dụ, tạo thư mục mới với một tên đơn giản a.
  • Di chuyển một tệp duy nhất mỗi lần vào thư mục đó.
  • Vào cmd.exethư mục mới và gõ như sau:

    ren *.ogg 1.ogg   
    

    Điều này là để đơn giản. Sau đó, bạn có thể đổi tên nó trong XP như bạn muốn, như 1.oggđể Where Have All the Cowboys Gone.ogg. oggchỉ là một ví dụ, phần mở rộng có thể là bất cứ điều gì.


Huh? Làm thế nào bạn có nghĩa vụ di chuyển tệp đó (của OP) với ký tự đại diện trong tên của nó?
Sz.

4

Nếu bạn đã cài đặt Cygwin, nó sẽ có thể chăm sóc tệp. Tôi vừa gặp vấn đề đó và sử dụng rm từ Cygwin trong bash shell đã có thể xóa tệp tốt khi không có ứng dụng Windows, bao gồm cả Explorer và bao gồm cả việc cố gắng sử dụng tệp UNC với CMD.exe.

Tôi sẽ tưởng tượng rằng mv sẽ làm điều đó trong trường hợp bạn muốn giữ tập tin.

Một thiết lập Cygwin barebones chỉ mất vài phút và tôi luôn luôn giữ nó xung quanh vì có rất nhiều công cụ tốt. Nó dễ hơn khởi động Linux, thậm chí sử dụng CD trực tiếp.


Tôi đã thử, cygwin không thể xóa tệp ('Không có tệp hoặc thư mục như vậy'). Ý tưởng tốt mặc dù.
JulianHzg

Điều này làm việc cho tôi hoặc sử dụng MSYS2 tương tự (viết lại MSYS, một nhánh của Cygwin) trên Windows 8.1. Tôi đã có thể mv các tập tin sang một tên mới và sau đó xóa nó bình thường. Tệp của tôi có một khoảng trống ở cuối và nó xuất hiện bằng cách sử dụng 'dir' - 'ls' không hiển thị mặc dù.
Brian Burns

@ bburns.km, ít nhất bạn đủ điều kiện tuyên bố "làm việc cho tôi". Tất nhiên nó hoạt động cho một tên tệp chỉ có một khoảng trắng ở cuối. \\?\cũng sẽ hoạt động trong trường hợp này - khi được sử dụng đúng cách với Unicode, đường dẫn đủ điều kiện. Nó bỏ qua mã thư viện thời gian chạy chế độ người dùng mô phỏng một số quy tắc MS-DOS cũ kỳ quặc từ những năm 80 mà bỏ qua khoảng trắng ở cuối tên. Vấn đề với các ký tự không hợp lệ và dành riêng không thể được giải quyết như thế này.
Eryk CN

3

Giả sử âm lượng trong câu hỏi là FAT32 hoặc NTFS, hãy thử chạy chkdsk. Điều đó sẽ dọn sạch các mục thư mục 'bị hỏng', trong trường hợp này có nghĩa là loại bỏ ?. Nếu đó là khối lượng khởi động, bạn có thể cần khởi động lại để làm điều đó.


Tôi đã có một tên thư mục với một :và làm điều này làm cho thư mục biến mất. KHÔNG làm điều này.
leeand00

1
Trên thực tế, chkdskđã chuyển nội dung của thư mục trong thư mục gốc của hdd sang một thư mục ẩn và tôi đã có thể lấy lại các tệp của mình ở đó xem: superuser.com/a/320654/2293
leeand00

3

Điều này sẽ làm việc (ít nhất, nó đã làm cho tôi):

dir /X *cowboys*

Lệnh đó sẽ xuất ra đôi khi tương tự như sau:

08/11/2011  15:21    <DIR>          WH5E97~1     Where Have All the Cowboys Gone
?.ogg

Đó WH5E97~1là những gì bạn đang tìm kiếm!
(Thông báo Plase: mã như vậy hoàn toàn được phát minh, nhưng phải giống với mã bạn sẽ tìm thấy)

Biết rằng, một đơn giản

rename WH5E97~1 "Where Have All the Cowboys Gone.ogg"

nên làm thủ thuật.

Hy vọng nó giúp.


Giải pháp tốt đẹp. Nên hoạt động, nhưng chỉ hoạt động nếu tên tệp dài hơn 8 ký tự (do đó không phải trong trường hợp của tôi).
JulianHzg

Không cần thiết. Theo tài liệu đánh máy dir t97*trả về cả hai tập tin, bởi vì ký tự đại diện dấu hoa thị phù hợp với tập tin t.txt2để t97.txtbằng cách sử dụng bản đồ tên viết tắt của nóT97B4~1.TXT
unwiredbrain

2

bạn đã thử chưa

type "Where*.ogg" > "Where.ogg"

có thể làm việc.


1
Tên tệp, tên thư mục hoặc cú pháp nhãn âm lượng không chính xác.
Ciara

1

Hãy thử một ký tự đại diện khi đang di chuyển -

move "Where Have All the Cowboys Gone*.mp3" "Where.mp3"

Đó có lẽ là lựa chọn tốt nhất của bạn, miễn là chỉ có một tệp phù hợp với ký tự đại diện.


Trên thực tế, trong trường hợp này, nó đã hoạt động với tên tệp vì dấu chấm hỏi là ký tự đại diện. Không cần dấu hoa thị lần này.
Synetech

1
Đáng buồn thay, điều đó không hoạt động, với tên tệp gốc hoặc với ký tự đại diện chung hơn như * .mp3.
JulianHzg

1

kéo và thả vào một thư mục mới, điều hướng trong dấu nhắc lệnh đến thư mục đó và gõ

ren *.* test.ogg

1
kéo và thả cũng thất bại với cùng một lỗi ... cảm ơn
codeLes

6
Ngược lại, bạn có thể thử di chuyển mọi thứ khác ra khỏi thư mục được đề cập.
từ đó,

1

Hãy thử cygwin để đổi tên tệp:

lệnh sẽ là: mv filename?.ogg filename.ogg


Tôi đã thử Cygwin một lần trên Vista, dường như có cùng một vấn đề, không có quyền truy cập vào máy tính hiện tại của tôi ...
codeLes

không hoạt động, đã thử trên Win7 64b
Tối đa

1

Hầu hết các lệnh nội bộ của Microsoft được kiểm soát với sự hiện diện của explorer.exe.

Mở Trình quản lý tác vụ của bạn và kiểm tra danh sách các quy trình hoạt động hiện tại. Bạn sẽ tìm thấy explorer.exetrong số họ. Nhấp chuột phải và chấm dứt / dừng / đóng explorer.exe. Đừng đóng Trình quản lý tác vụ. Bây giờ, hãy chuyển đến tệp tấn công bằng trình quản lý tệp phụ và thử xóa hoặc đổi tên bằng ký tự đại diện. Nó có thể sẽ thành công.

Bây giờ, quay lại cửa sổ Trình quản lý tác vụ và nhấp chuột phải vào dòng trên cùng nói Ứng dụng, sau đó chọn nút dưới cùng nói Tác vụ mới. Nhập explorer.exe. Explorer xuất hiện trở lại và tập tin tấn công không còn ở đó.


1

GUI WinRAR sẽ cho phép bạn đổi tên các tệp mà không cần phải đóng gói chúng vào kho lưu trữ trước. Tôi đã thử nghiệm nó trong Windows 8.1, trên một tên tệp rất dài. Làm việc như người ở.


1

Nếu bạn có WinRAR, hãy đóng gói nó trên WinRAR, đổi tên nó trên WinRAR, giải nén nó.

Hoặc bạn có thể thử với VBScript, lấy tập lệnh tiếp theo và lưu nó dưới một tệp có đuôi .vbs .

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

fso.MoveFile "Where Have All the Cowboys Gone?.ogg", "Where.ogg"

2
Tôi không có WinRAR tại nơi làm việc và máy làm việc của tôi không có trên mạng. Tôi có 7zip, dù sao tôi cũng có thể làm điều đó với 7zip, chỉ cần thử và nó sẽ không cho tôi thêm nó vào kho lưu trữ ... cùng một lỗi :-)
codeLes

hãy thử tập lệnh của bạn tạo cho tôi lỗi "không tìm thấy đường dẫn" (mã: 800A004C). Có vấn đề gì khi tập tin này nằm trên ổ USB ngoài không? Tôi đặt tệp vào cùng một thư mục ... sẽ cố gắng mã hóa toàn bộ vị trí tệp tiếp theo
codeLes

Tên đủ điều kiện cũng không hoạt động ...
codeLes

tôi đồng ý với tùy chọn chkdsk
Jhonny D. Cano -Leftware-

Đã thử nó với WinRAR. Không hoạt động. Cùng một kết quả.
user14068

1

Tôi cũng gặp vấn đề tương tự với một thư mục. Tên thư mục là ".min." mà thường không được phép.

Đổi tên Không được phép (bấm vào hình ảnh)

Sử dụng Winrar tôi đã có thể giải quyết điều này. Những gì tôi đã làm là

  • nhấp chuột phải vào thư mục
  • chọn 'Thêm vào lưu trữ ...'
  • chọn một tên lưu trữ mới (một tên không có ký tự đặc biệt)
  • từ các tùy chọn lưu trữ, chọn 'Xóa tệp sau khi lưu trữ'
  • hơn chọn OK

Thêm vào Lưu trữ ... (bấm vào hình ảnh)

  • Sau đó tôi mở tệp .rar
  • và đổi tên tập tin trong

Điều này được cho phép vì các cửa sổ không thực sự kiểm tra những gì bên trong tệp .rar. Ngay sau khi bạn thay đổi tên thì giải nén tập tin và bạn đã hoàn thành.

Tôi hi vọng cái này giúp được.


Không làm việc cho tôi. Tên tệp của tôi là 10:2.
Pacerier

0

Sử dụng cmd.exe trong thư mục này với các ký tự đại diện. Ví dụ:

ren "Where Have All the *.ogg" "Where Have All the Cowboys Gone.ogg"

Globbing được thực hiện bởi vỏ.
Hello71

3
@ Hello71: Không có trong hộp DOS, cậu bé Linux.
harrymc

0

Trình quản lý tệp 7-Zip (7-zip.org) sẽ đổi tên các tệp và thư mục mà XP không thể. Chỉ cần sử dụng nó để trích xuất một tệp .tar và đổi tên tệp .chm kèm theo, được đặt tên bất hợp pháp. Không cần LiveCD.

Tschüß!


0

Tôi gặp vấn đề tương tự với 2 thư mục lồng nhau với các thư mục con. Tôi không thể đổi tên cũng không xóa một số tệp (tôi đã thử nhiều cách). Cuối cùng, tôi tìm thấy giải pháp: Teracopy.

Cài đặt nó, nhấp chuột phải vào thư mục hoặc tập tin và chọn teracopy. Teracopy sẽ mở ra, sau đó chỉ cần nhấp deletehoặc rename. Nó sẽ đổi tên hoặc xóa nó.

Bạn có thể muốn thử.


0

Tôi đã rơi vào tình huống tương tự.

Googling xung quanh tôi học được rằng không có giải pháp bản địa.

... và tôi sử dụng như một vỏ của TCC của JPSoft, cũng không thể xử lý các tệp bị mờ đó.

Nhưng, tôi cũng biết rằng Trình mở khóa của Cedrick Collomb ( http://www.emptyloop.com/unlocker/ ) có thể xử lý được.

Và tôi đã có nó trong thiết lập của tôi. Ngoài ra, tôi đánh giá cao nó.

Chà, ít nhất giải pháp này không liên quan đến việc rời khỏi môi trường windows ...


0

Tôi đã sửa một tệp FLAC như thế này bằng cách sử dụng lệnh mở cơ bản của Winamp, sử dụng cửa sổ chương trình thám hiểm đó. Khi tôi vào thư mục, tôi có tùy chọn đổi tên, không giống như Explorer.


0

Tôi đã gặp một tình huống tương tự. Không có giải pháp nào được đăng cho tôi nhưng cuối cùng tôi cũng tìm thấy một giải pháp dễ dàng:

  • Không cần công cụ bên ngoài
  • Không có kiến ​​thức về bất kỳ ngôn ngữ lập trình hoặc shell script nào cần thiết

Tôi chỉ đơn giản là sao chép tập tin (vâng, sao chép vẫn có thể cho tôi) vào một thanh USB, đổi tên nó ở đó và đặt lại nó một lần nữa! Tôi để nó cho người khác giải thích tại sao điều đó làm việc.


0

Đây không phải là câu trả lời trực tiếp (như trong cách Windows có thể đổi tên một tệp) nhưng điều này hiệu quả với tôi. Các tệp bất hợp pháp thường nằm trên ổ đĩa ngoài nên tôi kết nối ổ đĩa ngoài với máy tính bảng Android của mình . Điều này cho phép tôi đổi tên tệp mà Windows có thể đọc được. Điều này liên quan đến các ký tự đặc biệt nhưng vấn đề thông thường tôi nhận được là tên tệp bắt đầu hoặc kết thúc bằng dấu cách hoặc kết thúc bằng dấu '.'

Tôi đã thử một trong những công cụ của bên thứ 3 FlexRenamer nhưng điều này vẫn phải vật lộn với những điều trên.


0

Trong hầu hết các trường hợp, câu trả lời này là vô ích .
Tôi đã bị đánh lừa bởi tên tập tin với các ký tự được biểu thị dưới dạng dấu hỏi khi thực tế chúng chỉ là các ký tự mặc định M $ -fonts sẽ không / không hiển thị.

Tôi có nên xóa bài viết này? Nó vẫn có thể giúp một số người ...


Hãy thử sử dụng cmd.exe được tích hợp sẵn trong tab.

  1. dir /x không giúp ích (NTFS được tạo mà không hỗ trợ tên tệp ngắn):

    dir
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>          none\none         ? ?????????, ?????????
    
    dir /X
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>                       none\none         ? ?????????, ?????????
    
  2. Cố gắng đổi tên nó bằng cách gõ / copy'n'pelling tên không hoạt động:

    C:\Temporal\_black> ren "? ?????????, ?????????" bart
    Syntaxfehler.
    
  3. Để làm cho nó hoạt động, bạn phải sử dụng hoàn thành tab . Chỉ cần điều hướng đến thư mục bên phải trong cmd-shell, nhập ren, nhấn phím trình lập bảng và tiếp tục nhấn cho đến khi tên 'chính xác' xuất hiện:

    C:\Temporal\_black>ren "? ?????????, ?????????"
    

    sau đó gõ phần còn lại và nhấn enter:

    C:\Temporal\_black>ren "? ?????????, ?????????" bart
    

    Bạn sẽ được thưởng bằng điều này:

    C:\Temporal\_black> dir
     Verzeichnis von C:\Temporal\_black
    05.10.2015  21:23    <DIR>          none\none         bart
    

Điều này hơi tẻ nhạt nhưng cho đến nay điều này luôn làm việc với tôi với các tệp và thư mục (Windows 7 và 8).

Lưu ý bên lề: Các ren-commands trong 2.3. giống hệt nhau nhưng nó sẽ không hoạt động nếu không sử dụng hoàn thành tab. Và ngay cả khi bạn đã sử dụng hoàn tất tab, nó sẽ không hoạt động nữa ngay khi bạn chỉnh sửa tên sau ren(ví dụ: xóa và thêm dấu chấm hỏi).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.