ฉันจะรันคำสั่ง cmd ผ่านไฟล์แบตช์ได้อย่างไร


94

ฉันต้องการเขียนไฟล์แบตช์ที่จะทำสิ่งต่างๆตามลำดับที่กำหนด:

  1. เปิด cmd
  2. เรียกใช้คำสั่ง cmd cd c:\Program files\IIS Express
  3. เรียกใช้คำสั่ง cmd iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
  4. เปิดInternet Explorer 8ด้วย URL =http://localhost:8088/default.aspx

หมายเหตุ: ไม่ควรปิดหน้าต่าง cmd หลังจากดำเนินการตามคำสั่ง

ฉันพยายามเริ่ม cmd.exe / k "cd \ & cd ProgramFiles \ IIS Express"แต่มันไม่ได้แก้จุดประสงค์ของฉัน


6
ปัญหาที่คุณกำลังเผชิญอยู่คืออะไร?
argentum47

คำตอบ:


114

ดังนั้นสร้างไฟล์แบตช์จริง: เปิดแผ่นจดบันทึกพิมพ์คำสั่งที่คุณต้องการเรียกใช้และบันทึกเป็น.batไฟล์ จากนั้นดับเบิลคลิกที่ไฟล์. bat เพื่อเรียกใช้

ลองทำสิ่งนี้เพื่อเริ่มต้น:

c:\
cd c:\Program files\IIS Express
start iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
start http://localhost:8088/default.aspx
pause

1
ขอบคุณ @Blorgbeard มันใช้งานได้ยกเว้นบรรทัดที่ 4 มันไม่ได้เปิด url ที่กำหนด
patel

เบราว์เซอร์ไม่เปิดเลยหรือ
Blorgbeard ออก

โอ้ฉันคิดว่าฉันรู้ว่าเกิดอะไรขึ้น - ดูการแก้ไขของฉันฉันเพิ่ม "เริ่ม" ก่อนiisexpressบรรทัด
Blorgbeard ออก

@Blorgbeard ฉันลองใช้วิธีของคุณ"C:\Program Files\MongoDB\Server\3.3\bin\mongod.exe" --install --dbpath=C:\data\db --logpath=C:\data\log\log.txt --auth --serviceแล้วก็ไม่ได้ผล เมื่อฉันดำเนินการบรรทัดนี้CMDทุกอย่างก็โอเค ในทั้งสองกรณีฉันดำเนินการในฐานะผู้ดูแลระบบ บอกฉันทีว่าฉันทำอะไรผิด?
Mike B.

4
@ ไมค์บี. startใช้อาร์กิวเมนต์ที่ยกมาเป็นครั้งแรกเป็นชื่อหน้าต่าง ลองstart "" "C:\Program Files\MongoDB\Server\3.3\bin\mongod.exe" --install --dbpath=C:\data\db --logpath=C:\data\log\log.txt --auth --service
Stephan


16

วิธีนี้แก้ไขปัญหาบางอย่างเกี่ยวกับคำตอบของ Blorgbeard (แต่ยังไม่ได้ทดสอบ):

@echo off
cd /d "c:\Program files\IIS Express"
start "" iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
timeout 10
start http://localhost:8088/default.aspx
pause

8

ไวยากรณ์ cmd / c "command" ทำงานได้ดี นอกจากนี้หากคุณต้องการรวมไฟล์ปฏิบัติการที่มีช่องว่างในเส้นทางคุณจะต้องมีเครื่องหมายคำพูดสองชุด

cmd /c ""path to executable""

และหากไฟล์ปฏิบัติการของคุณต้องการอินพุตไฟล์ที่มีช่องว่างในพา ธ อีกชุดหนึ่ง

cmd /c ""path to executable" -f "path to file"" 

6
@echo off
title Command Executer
color 1b

echo Command Executer by: YourNameHere
echo #################################
: execute
echo Please Type A Command Here:
set /p cmd=Command:
%cmd%
goto execute

3
"ฉันจะรันคำสั่ง cmd ผ่านไฟล์แบตช์ได้อย่างไร" ถูกต้องในทางเทคนิค
Vivek Chavda

2
ถูกต้องในทางเทคนิค.. ใช่ ... แต่ยังเป็นสิ่งที่คุณต้องการถ้าคุณอยู่ที่คอมพิวเตอร์ของโรงเรียนและพรอมต์คำสั่งถูกปิดใช้งาน แต่ไฟล์แบตช์ไม่ได้
RetroCraft

ฉันกำลังมองหาสิ่งนี้ฉันดีใจที่คุณโพสต์สิ่งนี้แม้ว่ามันจะไม่ใช่สิ่งที่ OP ต้องการ
ก็ตาม


1
start cmd /k "your cmd command1"
start cmd /k "your cmd command2"

มันทำงานใน Windows server2012 ในขณะที่ฉันใช้คำสั่งเหล่านี้ในไฟล์แบตช์เดียว


-8

ฉันรู้ว่า DOS และ cmd prompt ไม่ชอบช่องว่างในชื่อโฟลเดอร์ รหัสของคุณเริ่มต้นด้วย

cd c: \ Program files \ IIS Express

และพยายามไปที่ c: \ Program แทน C: \ "Program Files"

เปลี่ยนชื่อโฟลเดอร์และชื่อ * .exe หวังว่านี่จะช่วยได้


เปลี่ยนชื่อโฟลเดอร์? คุณต้องล้อเล่น
Werner Henze

1
ที่ถูกต้องสำหรับคำสั่งใด ๆ ที่ใช้พารามิเตอร์ที่มีช่องว่าง - ยกเว้น cdเป็นคำสั่งเดียวที่ฉันรู้ซึ่งใช้พารามิเตอร์ด้วยช่องว่างโดยไม่มีเครื่องหมายคำพูด
Stephan

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