คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
ตัวอย่างแรก
FOR /F "eol=; tokens=*,*" %%i in ("C:\TEST") do (
findstr "xx.exe" %%i
if errorlevel 1 (msg * "เจอแล้ว") else (msg * "ไม่เจอ")
)
ตัวอย่างสอง
findstr "xx.exe" /f:"C:\TEST"
if errorlevel 1 (msg * "เจอแล้ว") else (msg * "ไม่เจอ")
***สั้นกว่าง่ายกว่า
ตัวอย่างสาม
set Target=C:\
if exist %Target%"xx.exe" (msg * "เจอแล้ว") else (msg * "ไม่เจอ")
*** ครอบครุมการทำงานกว่า...เพียงระบุ Target และเปลี่ยนไปตาม Path
***แนะนำ เครื่องหมาย * น่าจะเปลี่่ยนเป็น %username%
เพราะมันจะขึ้นกล่องข้อความในเครื่องที่รันเท่านั้น
ส่วน * จะขึ้นทุกเครื่องใน Workgroup ซี่งเกะกะการทำงานคนอื่น
FOR /F "eol=; tokens=*,*" %%i in ("C:\TEST") do (
findstr "xx.exe" %%i
if errorlevel 1 (msg * "เจอแล้ว") else (msg * "ไม่เจอ")
)
ตัวอย่างสอง
findstr "xx.exe" /f:"C:\TEST"
if errorlevel 1 (msg * "เจอแล้ว") else (msg * "ไม่เจอ")
***สั้นกว่าง่ายกว่า
ตัวอย่างสาม
set Target=C:\
if exist %Target%"xx.exe" (msg * "เจอแล้ว") else (msg * "ไม่เจอ")
*** ครอบครุมการทำงานกว่า...เพียงระบุ Target และเปลี่ยนไปตาม Path
***แนะนำ เครื่องหมาย * น่าจะเปลี่่ยนเป็น %username%
เพราะมันจะขึ้นกล่องข้อความในเครื่องที่รันเท่านั้น
ส่วน * จะขึ้นทุกเครื่องใน Workgroup ซี่งเกะกะการทำงานคนอื่น
แสดงความคิดเห็น
สอบถามเกี่ยวกับ script .bat
คำสั่ง Findstr: แต่ลองผิดลองถูกแล้วไม่ผ่านซักทีคับ
ใครก็ได้ช่วยผมที โจทย์นะครับ ผมกำลังจะสร้างไฟล์.bat ค้นหาไฟล์ xx.exe ในไดร์ C:\TEST ครับ
โดยเมื่อกดรันโปรแกรม โปรแกรมจะทำการค้นหาไฟล์ xx.exe ใน c:\test หากเจอไฟล์ที่ค้นหา
จะมี popup ขึ้นข้อความบอกด้วยคำสั่ง msg* "เจอแล้ว" หากไม่เจอ ก็ให้ขี้นอีกข้อความ msg* "ไม่เจอ"
ประมาณนี้อ่ะครับ ขอบคุณล่วงหน้านะครับ