ฉันจะทำให้ desktop.ini ทำงานบนที่ตั้งเครือข่ายได้อย่างไร


4

ฉันมีไฟล์ desktop.ini ที่ใช้ไอคอนโฟลเดอร์ มันทำงานได้ดีในโฟลเดอร์ท้องถิ่น

ฉันต้องการให้ทำงานบนตำแหน่งเครือข่ายเนื่องจากเรามีฮาร์ดไดรฟ์ภายนอกที่เชื่อมต่อกับเครือข่ายของเรา อย่างไรก็ตามdesktop.iniไฟล์ดูเหมือนว่าจะไม่มีผลกับเครือข่ายดังกล่าว

ผมทำอะไรผิดหรือเปล่า?



@mattwilkie: อาจเป็นไปได้แม้ว่าสิ่งนี้จะมาถึงก่อนหน้านี้โดย 3 ปี
Eric

1
ยอมรับแล้ว @eric คนอื่น ๆ ก็มีคำตอบที่ดีกว่า ไม่ว่าจะเป็นการเชื่อมโยงสิ่งต่าง ๆ ได้รับการปรับปรุง
แม

คำตอบ:


4

ทำไมสิ่งนี้เกิดขึ้น

Windows จะไม่อ่านไฟล์desktop.iniเว้นแต่ว่าเป็นไฟล์ระบบ (ดูเหมือนว่าจะใช้งานได้แบบอ่านอย่างเดียว แต่ไฟล์ระบบหมายความว่าไฟล์นั้นจะยังคงซ่อนอยู่แม้ว่าคุณจะตั้งค่าไฟล์ที่ซ่อนอยู่ที่ไม่ใช่ระบบให้มองเห็นได้ก็ตาม)

ทำไมดูเหมือนคุณไม่สามารถแก้ไขได้

ในการแบ่งปัน Samba (การใช้ Unix ของโปรโตคอลการแบ่งปัน SMB / เครือข่าย) บางครั้งแม้ว่าคุณเช่นไปที่คุณสมบัติและตั้งค่า "อ่านอย่างเดียว" มันจะถูกละเว้นและไม่ได้ตั้งค่า นี่เป็นเพราะแซมบ้าไม่ได้จัดเก็บสิทธิ์เหล่านี้ไว้เป็นค่าเริ่มต้น - ซึ่งดูเหมือนว่าจะมีภาษีประสิทธิภาพ (อาจเล็กน้อย) เนื่องจากสิทธิ์ถูกตั้งค่า (AFAIK) และอ่านในสตรีมสำรองเป็นข้อมูลที่เป็นข้อความ (อาจไม่ทำงานหากคุณ แบ่งปัน FS พื้นฐานเช่นFAT )

วิธีแก้ไข

ก่อนอื่นให้แน่ใจว่า Samba เก็บสิทธิ์แบบ DOS (เช่น "ระบบ") โดยเพิ่มบรรทัดนี้ในคำจำกัดความการแชร์ของคุณ:

store dos attributes = yes

บางทีคุณสามารถเพิ่มสิ่งนี้ลง[Global]ในฉันได้เพิ่มไว้ในการแชร์เฉพาะแทน

นอกจากนี้บางคนจะบอกให้คุณแก้ไขไฟล์ผิด

  • /usr/share/samba/smb.conf <= เรื่องไร้สาระ
  • /etc/samba/smb.conf <= ไฟล์ที่ถูกต้อง

รีสตาร์ท Samba ( sudo service samba restart) จากนั้นทำการตรวจสอบอย่างรวดเร็วเพื่อดูว่าคุณสามารถใช้ Windows Explorer เพื่อสร้างไฟล์แบบอ่านได้อย่างเดียวและยังคงมีอยู่หรือไม่

ตกลงตอนนี้คุณสามารถสร้างdesktop.iniไฟล์ระบบ / ซ่อนได้ หากต้องการทำสิ่งนี้ให้ไปที่โฟลเดอร์ที่มีพร้อมท์คำสั่งและใช้:

attrib +s +h desktop.ini

เป็นทางเลือกนอกจากนี้ (หากไอคอนของคุณสัมพันธ์และเก็บไว้ในโฟลเดอร์เดียวกับของฉัน)

attrib +s +h folder.ico

สุดท้ายคุณต้องทำเครื่องหมายโฟลเดอร์ว่าเป็นแบบอ่านอย่างเดียว (ไม่สมเหตุสมผลและฟังดูงี่เง่าคุณจึงรู้ว่ามันถูกต้อง)

attrib +r .

แน่นอนคุณสามารถ (ควร) สคริปต์นี้ ใช้ทุบตี MSysGit ฉันทำสิ่งนี้ใน NAS ของฉันทั้งหมด:

find . -type f -iname desktop.ini | while read -r i; do
    echo "Processing \"$(basename "${i%/*}")\""
    attrib +s +h "$i"
    attrib +s +h "${i%/*}/folder.ico" # Optional, in case you have these.
    attrib +r "${i%/*}"
done

3

คุณต้องทำเครื่องหมายโฟลเดอร์เป็นระบบหรืออ่านอย่างเดียวเพื่อให้ desktop.ini ทำงานได้ เป็นแบบอ่านอย่างเดียวจะดีกว่าเนื่องจากโฟลเดอร์ระบบถูกตัดออกจากการค้นหาโดยค่าเริ่มต้น attrib + r (ชื่อโฟลเดอร์)


3

อ่านบทความนี้ที่http://helpdeskgeek.com/how-to/customize-folder-icons-desktop-ini/

IconFile

หากคุณต้องการระบุไอคอนที่กำหนดเองสำหรับโฟลเดอร์ให้ตั้งค่ารายการนี้เป็นชื่อไฟล์ของไอคอน แนะนำให้ใช้นามสกุลไฟล์. ico แต่ยังสามารถระบุไฟล์. bmp หรือไฟล์. exe และ. dll ที่มีไอคอน หากคุณใช้เส้นทางญาติไอคอนสามารถใช้ได้กับคนที่ดูโฟลเดอร์บนเครือข่าย คุณต้องตั้งค่ารายการไอคอนดัชนี

คุณจะต้องระบุเส้นทางสัมพัทธ์กับไอคอนของคุณ

เช่น . /hiddenfolder/mycoolicon.ico

โปรดทราบว่าคุณอาจต้องวางจุดสองจุด (หรือมากกว่า) ถ้าไดเรกทอรีของโฟลเดอร์. ico อยู่นอกตำแหน่งของไฟล์ desktop.ini ลองทดลองและรีเฟรชหน้าต่าง Windows / File Explorer

โชคดี


1
ไม่นั่นไม่ใช่ปัญหา desktop.iniไฟล์ดูเหมือนว่าจะละเลยที่ไม่มีคำสั่งอื่น ๆ ในนั้นมีการประมวลผลอย่างใดอย่างหนึ่ง น่าสนใจฉันไม่สามารถตั้งให้ "ซ่อน"
Eric

ระบบปฏิบัติการใดที่คุณใช้เพื่อดูโฟลเดอร์ที่แชร์
Christopher Wilson

Windows XP [ขีด จำกัด ถ่าน 15]
เอริค

2

ปัญหาเกี่ยวข้องกับโฮสต์ที่มีโฟลเดอร์อยู่ อุปกรณ์จัดเก็บข้อมูลเครือข่ายที่แนบมาบางส่วน (NAS) เช่น DROBO ตัวอย่างเช่นรันภายในบน Linux และเชลล์เครือข่าย SAMBA ไม่เคารพหรือใช้คุณสมบัติไฟล์ windows มาตรฐานอย่างถูกต้อง (R, S, H, A, I)

เส้นทางสัมพัทธ์จะไม่ช่วยถ้าไฟล์ desktop.ini ไม่ได้อ่านตั้งแต่แรก !!!

เนื่องจากอุปกรณ์โฮสต์ RAID, NAS หรือไดรฟ์ไม่ถูกต้องรายงานบิต "ระบบ" หรือ "อ่านอย่างเดียว" ซึ่ง windows คาดว่าจะเรียกการประมวลผลของไฟล์ desktop.ini ไฟล์จึงไม่เคยอ่านและเนื้อหาไม่สำคัญ

ยังไม่พบวิธีแก้ไขปัญหานี้


0

ในการรายงานประเภทไฟล์ "ระบบ" หรือ "อ่านอย่างเดียว" อย่างถูกต้องคุณต้องแก้ไข "smb.conf" ใน NAS ของคุณ ในส่วน [ทั่วโลก] เพิ่มบรรทัด:

แอตทริบิวต์ dos เก็บ = ใช่

สนุก !

M2C


อย่าลืมรีสตาร์ท Samba service ด้วย cmd: sudo service samba restart
M2C

ฉันไม่ใช่คนที่ลงคะแนนคุณ แต่ในกรณีของฉันฉันต้องตั้งค่านี้ในคำจำกัดความการแชร์ ฉันได้ตั้งค่าในระดับโลกและมันก็ถูกละเว้น
Camilo Martin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.