हाँ, आँख बंद करके थोक प्रतिस्थापन की तरह एक पूरी निर्देशिका वृक्ष संरचना पर मुझे परेशान कर देगा लेकिन अगर आपको लगता है कि यह सुरक्षित है ...
यह संभावित रूप से मुश्किल है कि आप अपनी फ़ाइल सामग्री के आधार पर शुद्ध बैच का उपयोग करना चाहते हैं। लेकिन यह एक हाइब्रिड JScript / बैच उपयोगिता के साथ करना आसान है जिसे मैंने REPL.BAT कहा था। उपयोगिता रेगेक्स खोज करती है और स्टडिन को प्रतिस्थापित करती है, और परिणाम को स्टडआउट लिखती है। यह शुद्ध स्क्रिप्ट है जो कि XP से आगे किसी भी आधुनिक विंडोज मशीन पर चलती है, इसलिए इसे किसी भी 3 पार्टी की स्थापना की आवश्यकता नहीं है .exe फ़ाइल। REPL.BAT उपयोगिता और प्रलेखन यहां उपलब्ध है। ।
मान लें कि आपके पास वर्तमान निर्देशिका में REPL.BAT है, या बेहतर अभी तक, आपके पेटीएम के भीतर कहीं है, तो निम्नलिखित सरल एक लाइनर को कमांड लाइन से सीधे चाल करना चाहिए, किसी बैच की आवश्यकता नहीं है।
for /r %F in (*.sql) do @(type "%F"|repl "C:\" "E:\" >"%F.new"&move /y "%F.new" "%F" L >nul)
आप खोज मामले को जोड़कर असंवेदनशील बना सकते हैं I स्विच।
for /r %F in (*.sql) do @(type "%F"|repl "C:\" "E:\" I >"%F.new"&move /y "%F.new" "%F" L >nul)
या यदि आप एक बैच स्क्रिप्ट पसंद करते हैं (के साथ) I स्विच)
@echo off
for /r %%F in (*.sql) do (
type "%%F"|repl "C:\" "E:\" LI >"%%F.new"
move /y "%%F.new" "%%F" >nul
)
मैंने इस्तेमाल किया L शाब्दिक स्विच भर में; दूसरा विकल्प बच निकलने का है \ बजाय।
repl "C:\\" "E:\\" I
Option 3, लेकिन मुझे मिलता हैThe process tried to write to a nonexistent pipe. Test Folder\REPL.bat(191, 1) Microsoft JScript runtime error: Syntax error in regular expression