เป็นไปได้ไหมที่จะเรียกใช้โปรแกรมในโหมด Windows XP โดยตรงจากแบตช์ไฟล์ที่อยู่ใน Windows 7


1

ฉันมี Windows 7 Ultimate ติดตั้งWindows XP Modeแล้ว

ในโฮสต์ระบบปฏิบัติการของฉัน (Windows 7) ฉันมีไฟล์แบตช์ซึ่งดำเนินการคำสั่งบางอย่าง ฉันต้องใช้งานโปรแกรมสามโปรแกรมที่ติดตั้งในโหมด Windows XP ของฉัน (Windows debug.exe และอีกสองโปรแกรม) มีวิธีการเรียกใช้โดยตรงจากแฟ้มแบตช์ของฉัน

ขอบคุณ!


จาก CMD คุณสามารถเริ่มลิงค์ทางลัด / โปรแกรมบนเดสก์ท็อปในC:\Usersโฟลเดอร์ได้ แต่start /waitไม่ต้องรอ
AFH

@AFH ฉันต้องใช้คำสั่งอะไร
Teo Zec

คุณสามารถเรียกการเชื่อมโยงเช่นเดียวกับใด ๆไฟล์เช่นexe C:\Users\UserName\Desktop\DeskTopName.lnkคุณสามารถส่งพารามิเตอร์ได้หากคุณอนุญาตในพารามิเตอร์ในการรันลิงก์ คุณสามารถใช้startแต่/waitตัวเลือกจะรอจนกว่าโปรแกรมจะได้รับการกำหนดเวลาผ่านลิงก์ไม่ใช่จนกว่าโปรแกรมเป้าหมายจะสิ้นสุด
AFH

ฉันไม่มีโหมด XP สำหรับการทดสอบ แต่คุณไม่สามารถเชื่อมโยงงานใน Win 7 กับการเรียกใช้โปรแกรม XP และตั้งค่าให้ทำงานในโหมดที่เข้ากันได้จากนั้นจึงนำงานในไฟล์แบตช์ของคุณ?
fixer1234

@AFH ใช่ แต่ฉันไม่สามารถคัดลอกลิงก์จาก XP Mode ไปยังพีซี Windows 7 ของฉันได้เนื่องจากไฟล์ lnk จะชี้ไปที่ไฟล์ที่ไม่มีอยู่ในไดรฟ์ Windows 7 C ของฉัน
Teo Zec

คำตอบ:


2

วิธีการที่ประหยัดและร่าเริงในการทำสิ่งนี้ให้สำเร็จคือผ่านไดเรกทอรีที่ใช้ร่วมกัน (ซึ่งอาจจะมีเส้นทางที่แตกต่างกันใน 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 จะทำในช่วงเวลาอื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.