Bat เพื่อเรียกใช้. exe ที่พรอมต์คำสั่ง


134

ฉันต้องการสร้างไฟล์. bat ดังนั้นฉันสามารถคลิกที่มันเพื่อให้มันสามารถทำงานได้:

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service

ใครสามารถช่วยฉันเกี่ยวกับโครงสร้างของไฟล์. bat


คำตอบ:


199

ในการเริ่มโปรแกรมจากนั้นปิดพรอมต์คำสั่งโดยไม่ต้องรอให้โปรแกรมออก:

start /d "path" file.exe

10
@MehdiJ: ตั้งค่าโฮมไดเร็กทอรี
abatishchev

2
เป็นไปได้ที่จะเรียกใช้ไฟล์ bat จากเว็บเบราว์เซอร์? เช่น javascript เพื่อเรียกไฟล์ bat ??
Karthi

5
@Karthi: ขอโทษมันเป็นไปไม่ได้
abatishchev

2
@Karthi คุณไม่ต้องการให้ javascript สามารถเรียกใช้ไฟล์ bat ได้ด้วยเหตุผลด้านความปลอดภัย
Roland

1
คุณจะรอให้โปรแกรมออกได้อย่างไร?
m4l490n

48

คุณสามารถใช้ได้:

start "windowTitle" fullPath/file.exe

หมายเหตุ: ต้องมีเครื่องหมายคำพูดชุดแรกอยู่ที่นั่น แต่คุณไม่จำเป็นต้องใส่อะไรเลยเช่น:

start "" fullPath/file.exe

9
'ชุดคำพูดชุดแรก' เป็นเพียงชื่อหน้าต่างและไม่จำเป็นต้องใช้ อย่างไรก็ตามวิธีที่ดีที่สุดคือระบุไดเร็กทอรีเริ่มต้นโดยใช้ / d start /d "fullpath" file.exe เพื่อให้แน่ใจว่ามีการค้นพบและโหลดไฟล์ที่ขึ้นต่อกันเช่น DLL
Tom Wilson

34

เป็นรหัสที่ง่ายมากสำหรับการเรียกใช้งานประเภทรหัสร้องของ notepad ลงในแผ่นจดบันทึกและบันทึกลงในส่วนขยาย. bat Exapmle: notepad.bat

start "c:\windows\system32" notepad.exe   

(โค้ดด้านบน "c: \ windows \ system32" คือพา ธ ที่คุณเก็บโปรแกรม. exe ไว้และ notepad.exe คือไฟล์โปรแกรม. exe ของคุณ)

สนุก!


27

เพียงใส่บรรทัดนั้นในไฟล์ bat ...

หรือคุณสามารถสร้างทางลัดสำหรับ svcutil.exe จากนั้นเพิ่มอาร์กิวเมนต์ในหน้าต่าง "เป้าหมาย"


7

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


7

เพียงติดไฟล์และเรียกมันว่า "ServiceModelSamples.bat" หรืออะไรสักอย่าง

คุณสามารถเพิ่ม "@echo off" เป็นบรรทัดที่หนึ่งดังนั้นคำสั่งจะไม่ถูกพิมพ์บนหน้าจอ:

@echo off
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service

และแทนที่จะเพิ่ม@echo offเป็นบรรทัดแรกคุณสามารถเพิ่ม@ที่จุดเริ่มต้นของบรรทัดที่คุณไม่ต้องการให้สะท้อนกลับ ...
menssana

6

อะไรที่หยุดคุณ?

ใส่คำสั่งนี้ในไฟล์ข้อความบันทึกด้วยนามสกุล. bat (หรือ. cmd) แล้วดับเบิลคลิกที่มัน ...

ฉันคิดว่าคำสั่งดำเนินการในระบบของคุณ


6

ถ้าอยากฉลาดจริงพิมพ์บรรทัดคำสั่ง:

echo svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service >CreateService.cmd

จากนั้นคุณCreateService.cmdสามารถเรียกใช้เมื่อใดก็ได้ที่คุณต้องการ ( .cmdเป็นเพียงส่วนขยายอื่นสำหรับ.batไฟล์)


3

ตามที่อธิบายไว้ที่นี่เกี่ยวกับStartคำสั่งสิ่งต่อไปนี้จะเริ่มแอปพลิเคชันของคุณด้วยพารามิเตอร์ที่คุณระบุ:

start "svcutil" "svcutil.exe" "language:cs" "out:generatedProxy.cs" "config:app.config" "http://localhost:8000/ServiceModelSamples/service"
  • "svcutil"หลังจากstartคำสั่งเป็นชื่อที่กำหนดให้กับหน้าต่าง CMD เมื่อเรียกใช้แอปพลิเคชันที่ระบุ นี่คือพารามิเตอร์ที่จำเป็นของstartคำสั่ง

  • "svcutil.exe"เป็นเส้นทางสัมบูรณ์หรือสัมพัทธ์ไปยังแอปพลิเคชันที่คุณต้องการเรียกใช้ การใช้เครื่องหมายคำพูดช่วยให้คุณมีช่องว่างในเส้นทาง

  • หลังจากระบุแอ็พพลิเคชันที่จะเริ่มทำงานแล้วพารามิเตอร์ต่อไปนี้ทั้งหมดจะถูกตีความว่าเป็นอาร์กิวเมนต์ที่ส่งไปยังแอ็พพลิเคชัน


2

หากโฟลเดอร์ของคุณตั้งค่าเป็น "ซ่อนนามสกุลไฟล์" คุณจะตั้งชื่อไฟล์ว่า * .bat หรือ * .cmd และไฟล์นั้นจะยังคงเป็นไฟล์ข้อความ (ซ่อนนามสกุล. txt) ต้องแน่ใจว่าคุณตั้งชื่อไฟล์ได้ถูกต้อง!


1

จุดสำคัญที่ดูเหมือนว่าที่นี่คือ svcutil ไม่พร้อมใช้งานตามค่าเริ่มต้นจากบรรทัดคำสั่งคุณสามารถเรียกใช้จากทางลัด vs xommand บรรทัด แต่ถ้าคุณสร้างไฟล์แบตช์ตามปกติจะไม่ช่วยเว้นแต่คุณจะเรียกใช้ไฟล์ vcvarsall.bat ก่อน สคริปต์. ด้านล่างนี้คือตัวอย่าง

"C: \ Program Files \ Microsoft Visual Studio * เวอร์ชัน * \ VC \ vcvarsall.bat"
svcutil.exe / ภาษา: cs /out:generatedProxy.cs /config:app.config http: // localhost: 8000 / ServiceModelSamples / service
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.