Saya memiliki masalah dengan nama pendek windows windows. Kadang-kadang nama-nama pendek tampaknya tidak dihasilkan untuk "Program Files" dan "Program Files (x86)".
Saya memverifikasi bahwa pembuatan nama pendek diaktifkan fsutil behavior query disable8dot3 C:
yang memberi tahu saya bahwa pengaturan lebar sistem adalah 2
(per volume) dan nilai lokalnya adalah 0
(buat nama 8dot3).
Seharusnya terlihat seperti ini (perhatikan bahwa ini adalah salinan 32bit Jerman):
C:\>dir /a /x
Verzeichnis von C:\
21.12.2011 00:17 <DIR> $Recycle.Bin
14.07.2009 05:53 <VERBINDUNG> DOCUME~1 Documents and Settings [C:\Users]
09.01.2011 15:35 <VERBINDUNG> DOKUME~1 Dokumente und Einstellungen [C:Users]
27.11.2013 15:11 2.147.016.704 pagefile.sys
14.07.2009 03:37 <DIR> PerfLogs
26.11.2013 17:31 <DIR> PROGRA~1 Program Files
08.11.2013 21:58 <DIR> PROGRA~2 ProgramData
09.01.2011 15:35 <VERBINDUNG> PROGRA~3 Programme [C:\Program Files]
09.01.2011 15:35 <DIR> Recovery
26.11.2013 17:40 <DIR> SYSTEM~1 System Volume Information
23.01.2011 15:00 <DIR> Temp
11.01.2011 20:56 <DIR> Users
08.11.2013 14:53 <DIR> Windows
Namun di komputer lain (salinan 64bit), ini terlihat seperti C:> dir / a / x
Verzeichnis von C:\
21.12.2011 00:17 <DIR> $Recycle.Bin
14.07.2009 05:53 <VERBINDUNG> DOCUME~1 Documents and Settings [C:\Users]
09.01.2011 15:35 <VERBINDUNG> DOKUME~1 Dokumente und Einstellungen [C:Users]
27.11.2013 15:11 2.147.016.704 pagefile.sys
14.07.2009 03:37 <DIR> PerfLogs
26.11.2013 17:31 <DIR> Program Files
26.11.2013 17:31 <DIR> Program Files (x86)
08.11.2013 21:58 <DIR> ProgramData
09.01.2011 15:35 <DIR> Recovery
26.11.2013 17:40 <DIR> SYSTEM~1 System Volume Information
23.01.2011 15:00 <DIR> Temp
11.01.2011 20:56 <DIR> Users
08.11.2013 14:53 <DIR> Windows
Seperti yang mungkin Anda perhatikan, nama-nama pendek tidak ada untuk folder program.
Pertanyaannya sekarang adalah bagaimana membuat mereka, karena saya perlu nama-nama pendek untuk beberapa skrip yang lebih tua. Saya mencoba fsutil file setshortname "Program Files" "PROGRA~1"
, tetapi ini hanya memberi saya Access denied.
.
sumber
Program Files
. Tidak mungkin menyesuaikan skrip? Juga, saya berharap skrip tidak berpikirProgram Files
direktori-selaluPROGRA~1
karena jika itu kasus skrip Anda akan berjalan dalam beberapa masalah serius pada akhirnya karena nama-nama pendek tidak selalu sama. Anda juga dapat meminta bantuan untuk memutakhirkan skrip ke nama panjang (bukan nama pendek) findfirst dll. (Jika memungkinkan).%programfiles%
). Mengganti nama memang tidak bekerja. Mungkin saya bisa melakukan ini dari offline? Bisa jadi solusi.Jawaban:
Seperti yang saya katakan di komentar saya ... Satu-satunya cara saya tahu bagaimana Windows akan menghasilkan ulang nama pendek adalah menyalin direktori dan menghapus yang asli. (tidak dapat dilakukan untuk direktori "Program Files".)
Akan lebih baik untuk mengubah skrip untuk menggunakan nama file dan folder yang panjang. Jika script menggunakannya
PROGRA~1
akan mendapat masalah dengan instalasi di mana drive itu dikloning dengan cara direktori tempat disalin kembali. Sebagai contoh jikaProgramData
disalin terlebih dahulu ke disk itu akan dinamaiPROGRA~1
danProgram Files
akan dinamaiPROGRA~2
.Ada opsi untuk menjaga agar skrip berfungsi sekarang :
Anda bisa membuat persimpangan direktori dari
PROGRA~1
keC:\Program Files
. Dengan begitu skrip tetap berfungsi dan Anda punya waktu untuk mengubahnya.Output dari
mklink /?
:sumber
mklink
permanen atau hanya berfungsi dalam skrip batch yang sedang dijalankan? Maaf saya tidak punya cukup info tentang symlink dan persimpangan.mklink
bersifat permanen. Sama sepertimkdir
.Untuk menentukan nama pendek (8dot3) untuk file Program lakukan hal berikut:
dari cmd prompt masukkan cmds berikut
Anda sekarang akan melihat nama pendek yang ditentukan untuk file program. Jika Anda mau, atur kembali perilaku 8dot3name ke pengaturan asli yang dikembalikan oleh cmd kueri.
sumber