ฉันมีปัญหาในการเรียนรู้วิธีใช้บรรทัดคำสั่งและการใช้ไฟล์แบตช์
สิ่งที่ฉันต้องการจะทำคือเขียนเส้นทางที่กำหนดเองแล้วเพิ่มชื่อไฟล์เพื่อให้สามารถบันทึกผลลัพธ์ได้
นี่คือสิ่งที่ฉันมี
@echo none
REM Optimizing JPEG with jpegtran
forfiles /p %1 /s /m "*.jpg" /c "cmd /c echo processing @path && c:\users\myname\desktop\jpegtran.exe -optimize -progressive -copy none -outfile "c:\users\desktop\output\"@filename @path"
pause
ค่อนข้างมากฉันแค่อยากให้สิ่งต่อไปนี้เกิดขึ้น
-outfile "c:\users\desktop\output\"@file
-outfile "c:\users\desktop\output\filename.jpg"
ไม่แน่ใจว่าฉันจะทำสิ่งนี้อย่างไร
@MAKZ ขอบคุณทำการเปลี่ยนแปลง อย่างไรก็ตามนั่นไม่ได้แก้ปัญหาจริงๆ
—
Kelsey Abreu
กำลังเปลี่ยน
—
MAKZ
forfiles
โดยง่าย for
ตัวเลือก? ถ้าเป็นเช่นนั้นคุณสามารถใช้ for /f %x in ('dir /b *.jpg') do echo processing %~fx && c:\users\myname\desktop\jpegtran.exe -optimize -progressive -copy none -outfile c:\users\desktop\output\%x
@MAKZ มันบอกฉันว่า "& amp; & amp; ไม่คาดคิดในเวลานี้"
—
Kelsey Abreu
ถ้าเป็นของ Vista หรือใหม่กว่า PowerShell อาจเป็นทางออกที่ดีกว่า
—
Iszi
@file
ไม่ใช่@filename