คุณทำไม่ได้ โดยปกติแล้วคุณสามารถทำสิ่งนี้ได้โดยรวมอักขระ carriage-return (0x0D) ในไฟล์ซึ่งจะทำให้เคอร์เซอร์กลับไปที่คอลัมน์แรกในบรรทัดเดียวกัน แต่ในกรณีนี้มันใช้งานไม่ได้ CR กินได้เงียบ ๆ
นอกจากนี้การได้รับ CR ในนั้นค่อนข้างยุ่งยากและอย่างน้อยก็เกี่ยวข้องกับโปรแกรมแก้ไขข้อความ ฉันขอแนะนำให้คุณเขียนโปรแกรมอรรถประโยชน์เล็ก ๆ ที่จะทำเพื่อคุณจริง ๆ แล้วมันไม่ได้ยากมาก โปรแกรม C ตัวน้อยต่อไปนี้อาจพอเพียง (ถ้าคุณไม่ต้องการ Unicode):
#include <stdio.h>
int main(int argc, char* argv[]) {
if (argc < 2) return 1;
printf("\r%s", argv[1]);
}
มันไม่ได้ทำอะไรมากไปกว่าการพิมพ์ตัวอักษร CR แล้วข้อความที่คุณระบุเป็นอาร์กิวเมนต์แรก การใช้งานดังต่อไปนี้:
@echo off
<nul set /P X=Step 1
pause>nul 2>nul
over.exe "Step 2"
บรรทัดสุดท้ายคือการเรียกไปยังโปรแกรมนั้น บรรทัดที่สองเป็นสำนวนแบบแบทช์ปกติสำหรับการพิมพ์ข้อความโดยไม่มีตัวแบ่งบรรทัดต่อท้าย (ซึ่งเป็นสิ่งสำคัญในกรณีนี้เพราะมิฉะนั้นคุณไม่สามารถเขียนทับบรรทัดได้) คุณสามารถใช้โปรแกรมดังกล่าวข้างต้นได้เช่นกันในสถานที่นั้น
วิธีแฮ็คเบา ๆ แต่เพียงอย่างเดียวที่คุณสามารถมั่นใจได้ว่าคุณจะอยู่ที่ไหนจะใช้cls
ก่อนที่จะส่งออกขั้นตอนของคุณ จะสั่นไหว แต่วิธีที่คุณเขียนไปทางซ้ายบนเสมอ และปิดบังทุกอย่างที่มองเห็นได้ในคอนโซล (ซึ่งเป็นสาเหตุที่ฉันไม่แนะนำ); ผู้ใช้ส่วนใหญ่ไม่ชอบสิ่งนั้นมากเกินไป