প্রতিধ্বনি আউটপুট পাওয়া এবং ফরোয়ার্ড স্ল্যাশের সাথে ব্যাকস্ল্যাশ প্রতিস্থাপন


1

আমার ব্যাচের স্ক্রিপ্ট কোডের স্নিপেট রয়েছে যা কাজ করে:

echo %tmpfile%
for /R %1 %%G in (*.go) DO (
    echo %%G | findstr /i "test mock" || (
        rem filter out "test" files
        gocyclo "%%G" >> %tmpfile%
    )
)

, তবে একটি সমস্যা:

এটি একক পিছনে আউটপুট! আরও খারাপ, প্রোগ্রামটি লুপে ডাকা হচ্ছে ব্যাকস্ল্যাশের পরিবর্তে ফরোয়ার্ড স্ল্যাশ ব্যবহারের বিকল্প নেই!

কোডটি কোনও ফাইলে এভাবে আউটপুট দিচ্ছে:

2 utilities ValArrToPointerArr C:\Users\mwarren\Desktop\apiserver_sdk\utilities\utilities.go:178:1

প্রোগ্রামটির আউটপুট লুপের সাথে আহ্বান করার, জিনিসগুলির স্ক্রিপ্ট দিক থেকে ব্যাক স্ল্যাশের পরিবর্তে ফরোয়ার্ড স্ল্যাশ আউটপুট পাওয়ার কি কোনও উপায় আছে?



এটি এই প্রসঙ্গে কীভাবে কাজ করবে? আমি জানি আপনি ঠিক করতে পারেন %f:\=/%, তবে আমি কোন মূল্য নির্ধারণ করব f? নীচের লুপটির অভ্যন্তরীণতম স্টেটমেন্টটি পরিবর্তন করা: gocyclo "%%G:\=/" >> %tmpfile% বিশেষত কাজ হয়নি। আমি কিছুই ফিরে পেলাম।
মাইক ওয়ারেন

আপনাকে প্রথমে আউটপুট সংরক্ষণ করতে হবে, এটিকে সংশোধন করতে হবে এবং তারপরে আউটপুট ফাইলে লিখতে হবে।
ডেভিডপস্টিল

উত্তর:


2

পিছনে স্ল্যাশের পরিবর্তে স্ল্যাশ আউটপুট দেওয়ার কোনও উপায় আছে কি?

হ্যাঁ, পরিবর্তনশীল সম্পাদনা / প্রতিস্থাপন ব্যবহার করে ।

নিম্নলিখিত কোড ব্যবহার করুন:

@echo off
setlocal enabledelayedexpansion
echo %tmpfile%
for /R %1 %%G in (*.go) DO (
  echo %%G | findstr /i "test mock" || (
    rem filter out "test" files
    gocyclo "%%G" >> output.txt
    rem replace \ with /
    for /f "tokens=*" %%i in ('type output.txt') do (
      set line=%%i
      set newline=!line:\=/!
      echo !newline!>>%tmpfile%
      )
   del /q output
   )
)
endlocal

আরও পড়া


এই ক্ষেত্রে, আপনি এটি একটি পাঠ্য ফাইলে লিখছেন, ডেকেছেন output.txtএবং তারপরে সেই ফাইলটি মুছবেন, তাই না?
মাইক ওয়ারেন

@ মাইক ওয়ারেন প্রকৃতপক্ষে, এটি একটি অস্থায়ী ফাইল হিসাবে ব্যবহার করে এটি পড়ছেন এবং পঠিত লাইনগুলিকে সংশোধন করছেন ...
ডেভিডপস্টিল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.