เนื่องจาก ที่ทางบริษัท ต้องการ Emoticon หรือ Emotion
เพื่อจะเอาไปใส่ในเวปบอร์ด
ดังนั้นเราก็จึงไปหารูปมา แต่ทว่า รูปที่ได้มานั้น ชื่อไม่เรียงกัน T-T
โหลดมาร้อยกว่ารูป จะมานั่ง rename เองนั้น ก็ทำได้แต่ก็เสียเวลามากๆๆ
และก็ต้องนำชื่อทั้งหมดมาใส่ในไฟล์ JAVA ในรูปแบบ Array และก็ยังต้องใส่ ascii แทนรูปอีก (ลืมบอกไปครับว่าใช้ Jive Forum)
[อย่างเช่น รูปยิ้ม.gif = :-)]
เกือบจะทิ้ง Emotion ไปแล้ว แต่ก็นึกถึง Python ขึ้นมาได้
และแล้วเราก็ลงมือ
import os i = 0 ascii = [] name = [] for root,dirs,files in os.walk(os.curdir,topdown=False): for name in files: os.rename(name,"emotion"+str(i)+".gif") name.append("emotion"+str(i)+".gif") ascii.append("emotion"+str(i)) f.open("name.txt","w") f.write(str(name)) f.close() f.open("ascii.txt","w") f.write(str(ascii)) f.close()
แค่นี้ ไฟล์ที่ได้ก็จะมีชื่อที่เรียงกัน แถมยังได้ ไฟล์ชื่อ กับ ascii ไฟล์อีกด้วย
(ไม่แน่ใจน่ะครับว่าจะผิดพลาดตรงไหน ลองดูก็แล้วกันครับ ประมาณว่าทำตอนเช้า มา Post ตอนค่ำ)
กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น
พอดีเจอ Error ครับ เลยลองแก้ ๆ ดู ออกมาประมาณนี้ครับ
แต่ผมเข้าใจว่า name.txt กับ ascii.txt ไม่จะเป็นต้องมีก็ได้มั้งครับ เพราะยังไงชื่อก็มี pattern อยู่แล้ว แค่รู้เลขเริ่มต้น กับเลขสุดท้ายก็น่าจะพอ แล้วค่อย generate เอาทีหลัง
ขอบคุณครับ เจอ Error จริงๆด้วย (ลืม i+=1 )
จริงๆแล้วที่ทำ name.txt กับ ascii.txt เป็น List ก็เพราะว่า ลักษณะมันคล้ายๆกับ Array ของ Java ครับ
Array Java = "Data1","Data2"
List Python = 'Data1','Data2'
เมื่อผมได้ name.txt กับ ascii.txt แล้ว ผมก็แก้จาก ' ให้เป็น " ก็จะได้ array java แล้วครับ (ตอนนั้นยังคิดวิธีตามคุณ bow_der_kleine ออก - -a)
..
เออ ไม่เกี่ยวกับเขียนโปรแกรมเท่าไรนะครับ คือว่าเห็นว่าอยากจะเปลี่ยนชื่อไฟล์จำนวนมากๆ
ลองโปรแกรม Bulk Rename Utility (http://www.bulkrenameutility.co.uk/Main_Intro.php) ที่ฟรีไหมครับ
แต่ถ้าไม่ต้องการก็ไม่เป็นไรนะครับ พี่น้อง
ไม่เกี่ยวยังไงเหรอครับ มันก็เป็นการเขียนโปรแกรมแก้ปัญหาง่ายๆ อย่างน้อยก็เป็นการฝึกเขียนโปรแกรมเบื้องต้น (ซึ่งเป็นส่ิงที่ดี)
บางทีเขียนเองมันได้รู้อะไรมากกว่าแค่ไปดาวน์โหลดมาใช้นะครับ
คุณ tekkasit คงแค่อยากแนะนำโปรแกรมเฉย ๆ มั้งครับ
ขอเสริมครับ ประโยชน์อีกอย่างที่ผมเห็นจากการเขียนโปรแกรมเอง (หากเขียนง่าย ๆ นะครับ) นอกจากเรื่องการฝึกเขียนโปรแกรมแล้ว คือ การต่อยอดได้ครับ เกิดวันนึง เราต้องการโปรแกรมที่มีความสามารถที่มากขึ้นไปอีก แต่หาโปรแกรมได้ไม่ตรงกับใจ บางครั้งการเขียนโปรแกรมใช้เอง อาจจะเร็วกว่าก็ได้ครับ
ซึ่งงาน admin เล็ก ๆ น้อย ๆ สัพเพเหระ พวกนี้ python ค่อนข้างเก่ง (Ruby นี่ไม่แน่ใจ แต่่คิดว่าคงไม่แพ้กัน) บางครั้งแม้ว่าจะมีโปรแกรมให้ใช้อยู่แล้ว แต่ไม่ตรงใจเสียทีเดียว ผมคิดว่าค่อนข้างคุ้มหากจะเขียนโปรแกรมเอง อย่างโปรแกรมเปลี่ยนชื่อนี่ ขนาด 20 บรรทัด น่าจะใช้เวลาเขียนกันไม่เกินครึ่งชั่วโมง แต่โปรแกรมที่ได้ เราสามารถนำไปใช้ในเรื่องอื่น ๆ ได้อีกมากมาย เช่น เปลี่ยนชื่อเฉพาะบางไฟล์ โดยใช้ regex, ก้อบปี้ไฟล์โดยใช้ regex, ก้อบปี้ไฟล์แบบ incremental, เปลี่ยนชื่อไฟล์ผ่านโปรโตคอลแบบต่าง ๆ, etc.
เห็นด้วยกับคุณ bow_der_kleine เป็นอย่างยิ่งครับ
ป.ล. ใช้ Ruby ในงาน admin ประทับใจมากครับ ส่วนตัวคิดว่าสะดวกกว่า shell script เยอะ