এমএসডোস ৪.০ স্ট্রিং কারসাজি?


1

খুব পুরানো হার্ডওয়ারের কারণে আমি উইন্ডোজ ৩.১ চালাতে বাধ্য হই যা প্লটারটি নিয়ন্ত্রণ করে। আমি যে সফ্টওয়্যারটি ব্যবহার করছি তা এই লাইনটি দিয়ে একটি .bat ফাইল তৈরি করে:

SPLOT.EXE/fmyfile.uc c:\myfile.plt

/ f - হ'ল একটি স্যুইচ যা রূপান্তরিত আউটপুট ফাইলের জন্য ফাইলের নাম অনুসরণ করে। সমস্যাটি যখন ফাইলনাম 1 বা 2 নম্বর দিয়ে শুরু হয়, তখন splot.exe একটি .uc ফাইল তৈরির পরিবর্তে COM1 বা COM2 পোর্টগুলিতে আউটপুট দেওয়ার চেষ্টা করে। যেহেতু এই .bat ফাইলটি আমার একমাত্র সমাধানটি তৈরি করেছিল তার উপর আমার কোনও নিয়ন্ত্রণ নেই যে আমার নিজের splot.exe ফাইলটিকে "লোডার" হিসাবে তৈরি করা হবে, যা অস্থায়ী ফাইলের নাম সহ মূল splot.exe (আমি এর নাম পরিবর্তন করে splotOrg.exe) করব, তারপরে সেই টেম্প ফাইলটিকে যথাযথ ফাইলের নামকরণ করুন name

সুতরাং আমি নীচের .bat ফাইলটি নিয়ে এসেছি যা পরে আমি .Exie এ উন্নত BAT এর সাথে EXE রূপান্তরকারীতে রূপান্তর করেছি :

@echo off
set str=%1
splotOrg.exe/ftempfile %2
ren tempfile %str:~2%

এটি উইন্ডোজ 7 সিএমডি উইন্ডো থেকে দুর্দান্ত কাজ করেছে, কিন্তু যখন আমি সত্য এমএসডস ৪.০ থেকে এটি কার্যকর করি তখন এটি ব্যর্থ হয়। পরিণত হয়েছে যে % স্ট্রিং: ~ 2% যা % 2%% ভেরিয়েবল থেকে প্রথম 2 টি অক্ষর ছাঁটাই করে বলে মনে করা হয় কেবল উইন্ডোজ 98+ এক্সটেনশান বা সেই প্রকৃতির কোনও কিছু নিয়ে কাজ করে।

দুর্ভাগ্যক্রমে আমি কোনও নিম্ন-স্তরের প্রোগ্রামিং ভাষা জানি না, তাই আমি সহজ স্ক্রিপ্টিং ভাষার মধ্যে সীমাবদ্ধ।

কেউ পরামর্শ দিতে পারে কীভাবে আমি এমএসডিএস ৪.০ এর জন্য একটি .exe ফাইল তৈরি করতে পারি যা নিম্নলিখিতগুলি করবে:

  1. দুটি কমান্ড লাইন আর্গুমেন্ট গ্রহণ করুন, একটি স্পেস দ্বারা পৃথক করে, তাদেরকে $ আরজি 1 এবং $ আরজি 2 কল করতে দিন
  2. এক্সিকিউট: splotOrg.exe/ftempfile $arg2
  3. $ আরজি 1 থেকে ট্রিম আউট / এফ করুন , সুতরাং /fmyfile.uc মাইফাইল.উকে পরিণত হয়
  4. নামান্তর tempfile নতুন $ ARG1 নামে

আপনি লিখেন "কোনও নিম্ন-স্তরের প্রোগ্রামিং ভাষা জানেন না, তাই আমি সরল স্ক্রিপ্টিং ভাষাগুলিতেই সীমাবদ্ধ থাকি" <- ভুল নেই, আপনি কি উচ্চ স্তরের প্রোগ্রামিং ভাষার কথা শুনেছেন না? নিম্ন স্তরের প্রোগ্রামিং ল্যাঙ্গুয়েজ না জানা আপনাকে এতটা সীমাবদ্ধ করে না
বার্লপ

উত্তর:


3

আপনি EXE রূপান্তরকারী থেকে উন্নত BAT ব্যবহার করে উল্লেখ করেছেন । সেই ওয়েবসাইট অনুসারে, এক্সিকিউটেবলগুলি "এক্সিকিউটেবলগুলি অ্যাডভান্সড বিএটি থেকে এক্সইউ রূপান্তরকারী সংকলিত উইন্ডোজ 9 8 থেকে উইন 8.1 64 বিট পর্যন্ত সমস্ত উইন্ডোজ সংস্করণে চলবে।" এটি এমএস-ডস 4.0 বলে না

জেপি সফ্টওয়্যার এর 4DOS ব্যবহার করে একটি সমাধান পাওয়া যায়। প্রায় কোনও সংস্করণ সম্ভবত যা করতে পারে তবে আপনি পাশাপাশি 4DOS সাইট থেকে সর্বশেষতম "ফ্রি 4DOS" পেতে পারেন ।

আপনি সম্ভবত এর সাথে পালাতে পারেন:
ren *.* tempfile

অন্যথায়, যদি এটি কোনও কারণে কাজ করে না, আপনার দীর্ঘস্থায়ীভাবে কাজ করতে সক্ষম হওয়া উচিত, যা% @ ইনস্ট্রার [] ব্যবহার করে অবাঞ্ছিত অক্ষরগুলি ছাঁটাই করা হয় (দেখুন: @ ইন্সট্রির জন্য জেপি সফ্টওয়্যার । উদাহরণস্বরূপ, %@instr[2,%@len[%2],%2]) (অথবা, পুরানো 4DOS সংস্করণগুলির জন্য,% @ সাবস্ট্রাস্ট [])) আপনার যতক্ষণ ফাইলনামে কমা নেই (যা এমএস-ডস-তে সাধারণত ফাইল-নেমে সাধারণত ব্যবহৃত / সমর্থিত নয়) আপনার জরিমানা করা উচিত।

যদি আপনার রূপান্তরিত-টু-এক্সি ব্যাচ ফাইলগুলি 4DOS এক্সটেনশান গ্রহণ করে না, তবে কেবল সেগুলি চালিয়ে যান: 4DOS.Com/C mybatch.btm %1 %2


আপনাকে অনেক ধন্যবাদ! আমি .btm স্ক্রিপ্টটি চালানোর জন্য 4dos ব্যবহার করে আপনার শেষ পরামর্শটি দিয়েছিলাম, কারণ ইনস্টল করা হলে 4dos স্ট্যান্ডার্ড এমএসডোস কমান্ডগুলিকে নিজের সাথে প্রতিস্থাপন করে, যা এই কমান্ডগুলির জন্য স্ট্যান্ডার্ড সুইচগুলি ছেড়ে দিলে সমস্যা হবে না, দুর্ভাগ্যক্রমে এটি হয় না এবং ব্রেক হয় অন্যান্য ব্যাচ ফাইল। এছাড়াও, কেবল ডাবল যাচাই করা হয়েছে এবং আশ্চর্যজনকভাবে আমি যে এমএস-ডসটি ব্যবহার করছি তা .0.০, এটি ব্যাখ্যা করে যে কেন ব্যাট থেকে টেক্সট রূপান্তরকারী কাজ করেছিল।
ভ্যানোম

2
প্রস্তাবিত: এমএস-ডস 6.0 ব্যবহার করবেন না। এমএস-ডস .2.২২ ব্যবহার করুন। 6.0 থেকে 6.22 এ আপগ্রেড অবাধে প্রাপ্তি আইনী obtain (আপনি "এমএস-ডস
.2.২২

0

এটি কিছুটা লম্বা শট SPLOT.EXE/fহতে পারে তবে আপনার প্লেটার প্রোগ্রামটিতে স্ট্রিং''র মতো হার্ড-কোডড থাকতে পারে sounds

যদি আপনি এটি খুঁজে পেতে এবং এটি ' MYBAT.EXE ' এর মতো (শেষে দুটি স্পেস সহ) পরিবর্তন করতে পারেন , তবে আপনি এটিকে এমন ব্যাচের ফাইলটিতে নির্দেশ করতে পারেন যা দেখতে এমন কিছু দেখাচ্ছে:

@echo off
splotOrg.exe/ftempfile %2
ren tempfile %1
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.