การต่อท้ายชื่อไฟล์และเส้นทางในไฟล์ Batch


1

ฉันมีปัญหาในการเรียนรู้วิธีใช้บรรทัดคำสั่งและการใช้ไฟล์แบตช์

สิ่งที่ฉันต้องการจะทำคือเขียนเส้นทางที่กำหนดเองแล้วเพิ่มชื่อไฟล์เพื่อให้สามารถบันทึกผลลัพธ์ได้

นี่คือสิ่งที่ฉันมี

@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"

ไม่แน่ใจว่าฉันจะทำสิ่งนี้อย่างไร


ใช้ @fileไม่ใช่ @filename
MAKZ

@MAKZ ขอบคุณทำการเปลี่ยนแปลง อย่างไรก็ตามนั่นไม่ได้แก้ปัญหาจริงๆ
Kelsey Abreu

กำลังเปลี่ยน 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

@MAKZ มันบอกฉันว่า "& amp; & amp; ไม่คาดคิดในเวลานี้"
Kelsey Abreu

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