ฉันพยายามสร้างแบตช์ไฟล์ที่พบสตริงย่อยภายในไฟล์ที่กำหนดโดยไม่ต้องเปลี่ยนเลย์เอาต์ไวยากรณ์หรือรูปแบบที่มีอยู่ของไฟล์อินพุตที่มีอยู่ ฉันมีการจัดการที่จะได้รับสคริปต์นี้เพื่อแทนที่สตริงที่ฉันกำหนด แต่มันสมบูรณ์การเปลี่ยนแปลงรูปแบบเดิมของเอกสารของฉัน:
@echo off
setlocal enableextensions
set "search=Test incomplete..."
set "replace=Test successfully completed!"
set "textFile=Testing document.txt"
for /f "delims=" %%i in ('type "%textFile%" ^& break ^> "%textFile%" ') do (
set "line=%%i"
setlocal enabledelayedexpansion
>>"%textFile%" echo(!line:%search%=%replace%!
endlocal
)
สิ่งสำคัญที่ฉันต้องการบรรลุคือสคริปต์ที่สามารถแก้ไขส่วนเดียวของไฟล์ข้อความที่ผู้ใช้กำหนด