ฉันมีสคริปต์สำรองที่กำหนดเวลาไว้ซึ่งทำให้การถ่ายโอนฐานข้อมูล ฉันจะเพิ่มการประทับเวลาวันที่ในชื่อไฟล์ได้อย่างไร
ฉันกำลังพูดถึง Windows และ CMD
ฉันมีสคริปต์สำรองที่กำหนดเวลาไว้ซึ่งทำให้การถ่ายโอนฐานข้อมูล ฉันจะเพิ่มการประทับเวลาวันที่ในชื่อไฟล์ได้อย่างไร
ฉันกำลังพูดถึง Windows และ CMD
คำตอบ:
ในพรอมต์คำสั่งและแบตช์ไฟล์คุณสามารถใช้%date%
และ%time%
เพื่อกลับวันที่และเวลาตามลำดับ วันที่ใช้งานได้ดี แต่ค่าเวลาที่ส่งคืนมีโคลอนซึ่งผิดกฎหมายสำหรับใช้ในชื่อไฟล์ แต่มีวิธีลบไฟล์เหล่านั้น
ใช้สิ่งที่ชอบ:
COPY file.txt file_%time:~0,2%%time:~3,2%%time:~6,2%_%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt
สิ่งนี้จะสร้างชื่อไฟล์เช่น file_172215_01062009.txt
อัปเดต:ความคิดเห็นด้านล่างมีข้อผิดพลาดที่น่าสนใจเกี่ยวกับคำสั่งนี้รวมถึงปัญหาที่อาจเกิดขึ้นที่คุณสามารถหลีกเลี่ยงได้
%DATE%
และ%TIME%
เป็นสถานที่ตระหนักถึง! DD.MM.YYYY
ก็หมายความว่าบนเครื่องยุโรปคุณจะได้รับ โอ๊ย
ใช้ตัวแปรสภาพแวดล้อม%DATE%
และ / หรือ%TIME
เลือกแทนที่อักขระที่ไม่ได้รับอนุญาตในชื่อไฟล์โดยใช้%name:from=to%
( %TIME::=%
จะลบโคลอนทั้งหมด)
ทฤษฎี» echo% วันที่% 2009-06-01 ทฤษฎี» echo% เวลา% 16: 30: 41,46 ทฤษฎี» echo% เวลา :: =% 163052,17 ทฤษฎี» echo% time :: =,% 16,30,58,68 ทฤษฎี» echo backup-% date% -% time :: = -%. zip สำรอง 2009-06-01-16-31-18,82.zip
set tmp=%tmp:x=y%
อื่น ๆ
วิธีที่เชื่อถือได้เพียงวิธีเดียวในการรับวันที่เหมาะสมไม่ว่าการตั้งค่าภูมิภาคคือโซลูชันจาก foxidrive @ /programming/11037831/filename-timestamp-in-windows-cmd-batch-script
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause
ใช้ตัวแปร% DATE% ในชื่อไฟล์
มีตัวแปร% TIME% เช่นกัน แต่มีอักขระที่ไม่อนุญาตในชื่อไฟล์
นี่คือตัวอย่างของการเขียนบรรทัดข้อความลงในไฟล์ใหม่ซึ่งไฟล์ที่สร้างขึ้นมีวันที่และเวลาในชื่อ
echo "testfile" >> backup-%DATE%.txt