Menu

Friday, October 11, 2019

[Batch Script] วิธีการใช้วันที่และเวลาสำหรับชื่อไฟล์ในไฟล์ Batch
[Batch Script] How to Use Date and Time for Filename in Batch File

สำหรับค่าของวันที่จะอยู่ในตัวแปรชื่อ date ซึ่งเราสามารถเรียกใช้ตามตัวอย่างดังนี้
echo Date format = %date%
echo dd = %date:~4,2%
echo mm = %date:~7,2%
echo yyyy = %date:~10,4%
สำหรับค่าของเวลาจะอยู่ในตัวแปรชื่อ time ซึ่งเราสามารถเรียกใช้ตามตัวอย่างดังนี้
echo Time format = %time%
echo hh = %time:~0,2%
echo mm = %time:~3,2%
echo ss = %time:~6,2%
จากทั้ง 2 ตัวอย่างข้างต้นเป็นการใช้ substring ในการดึงค่าส่วนที่เราต้องการ ซึ่งจะมีรูปแบบการใช้งานดังนี้
%variable_name:~start_position,length%
โดยที่
  • variable_name เป็นชื่อตัวแปรที่เก็บข้อความที่ต้องการตัด
  • start_position เป็นตำแหน่งเริ่มต้นของข้อความที่ต้องการตัด
  • length เป็นความยาวของข้อความที่ต้องการตัด

กรณีที่เราต้องการตั้งชื่อไฟล์ โดยมีวันที่และเวลาในรูปแบบ yyyymmdd_hhmmss อยู่ในชื่อไฟล์ด้วย เราสามารถใช้คำสั่งดังนี้
set filename=test_%date:~10,4%%date:~7,2%%date:~4,2%_%time:~0,2%%time:~3,2%%time:~6,2%.7z
echo %filename%
หมายเหตุ ตำแหน่งเริ่มต้นของ substring แต่ละชุดจะแตกต่างกันไป โดยขึ้นอยู่กับการตั้งค่า Date and time formats ของแต่ละเครื่อง

No comments:

Post a Comment