วิธีการที่ประหยัดและร่าเริงในการทำสิ่งนี้ให้สำเร็จคือผ่านไดเรกทอรีที่ใช้ร่วมกัน (ซึ่งอาจจะมีเส้นทางที่แตกต่างกันใน XP และ W7 แม้ว่าคุณจะสามารถใช้อักษรระบุไดรฟ์สำหรับการแบ่งปันและทำให้เหมือนกันทั้งคู่) คุณสามารถใช้สถานะของคำสั่งและไฟล์ตอบกลับเพื่อซิงโครไนซ์การดำเนินการในแต่ละระบบ
บน XP คุณมีเชลล์คำสั่งที่ทำงานอย่างต่อเนื่องกับ core loop: -
:Loop
sleep 10
if not exist {XPshare}\XPcommand.cmd goto Loop
del {XPshare}\XPresponse.txt
call {XPshare}\XPcommand.cmd > {XPshare}\XPcommand.txt
ren {XPshare}\XPcommand.txt XPresponse.txt
del {XPshare}\XPcommand.cmd
goto Loop
คุณอาจต้องการเพิ่มการบันทึกและปรับแต่งสคริปต์ หลังจากcall
คำสั่งคุณสามารถเพิ่มecho {unique string}Completion status = %errorlevel% >> {XPshare}\XPcommand.txt
และเลือกสิ่งนี้ในการวิเคราะห์ภายหลัง
เมื่อใดก็ตามที่คุณต้องการเรียกใช้งานคำสั่ง XP จาก W7 ให้เรียกใช้cmd
สคริปต์ด้วยคำสั่งที่ส่งผ่านไปยังพารามิเตอร์และประกอบด้วย: -
del {W7share}\XPresponse.txt
echo %* > {W7share}\XPcommand.cmd
:Loop
sleep 2
if exist {W7share}\XPcommand.cmd goto Loop
เมื่อคุณกลับมาจากสิ่งนี้คุณสามารถวิเคราะห์XPresponse.txt
และดำเนินการหลังการประมวลผลใด ๆ ไม่จำเป็นต้องลบอย่างเคร่งครัดXPresponse.txt
แต่เพียงตรวจสอบให้แน่ใจว่าไม่มีคำตอบก่อนหน้านี้ที่จะทำให้การตรวจสอบ W7 ใด ๆ เกิดความสับสน
มีรุ่นที่นับไม่ถ้วนเป็นsleep.exe
ที่ระงับสำหรับจำนวนของวินาทีรวมทั้งสองจาก MS ในบริการสำหรับ UnixและKit ทรัพยากรของ Windows จำนวนวินาทีที่เลือกคือความสมดุลระหว่างการตอบสนองและค่าโสหุ้ยการลงคะแนน ฉันได้แนะนำช่วงเวลาที่สั้นลงใน W7 เนื่องจากการทำโพลทำได้เฉพาะในขณะที่คำสั่ง XP กำลังดำเนินการในขณะที่ใน XP จะทำในช่วงเวลาอื่น ๆ
C:\Users
โฟลเดอร์ได้ แต่start /wait
ไม่ต้องรอ