উত্তর:
গতিশীলভাবে ব্যাচ স্ক্রিপ্টে একটি পরিবর্তনশীল মান সেট করুন যা কার্য নির্ধারণকারী দ্বারা কার্যকর করা হবে
যেহেতু আপনি ব্যাখ্যা এবং নিম্নলিখিত নিশ্চিত করেছেন:
- আপনি ব্যাচ স্ক্রিপ্ট মধ্যে পরিবর্তনশীল মান প্রয়োজন কাজের সূচি হিসাবে executes
SYSTEMএকটি মান হিসাবে সেট করা হবে যে লগ-ইন স্ক্রিপ্ট চালানোর জন্য ব্যবহারকারীর SID সাথে মেলে- আপনি স্ক্রিপ্ট অবস্থান জন্য মেশিন প্রতি স্থানীয় ফাইল পাথ ব্যবহার করতে পারেন কাজের সূচি চালানো হবে
- একই স্ক্রিপ্টে একাধিক ব্যবহারকারীর সাইন ইন করার সময় একযোগে এই স্ক্রিপ্টটিকে চালানো হবে না
প্রস্তাবিত পদ্ধতির আরও বিস্তারিত বিশদ সহ একটি পৃথক উত্তর হিসাবে আমি এই সমাধানটি লিখেছি।
আপনি নিম্নলিখিত নিশ্চিত করতে চান:
- সম্পর্কযুক্ত নিশ্চিত করুন নির্ধারিত কাজ করার প্রতিটি মেশিনে নাম সেটআপ করা হয় যা স্থানীয়ভাবে ব্যাচ স্ক্রিপ্টটি চালাবে
- প্রতিটি correlated নিশ্চিত করুন নির্ধারিত কাজ করার সঙ্গে মৃত্যুদন্ড কার্যকর করা হয় যে প্রতিটি মেশিনে
schtasksসব একই মান এক বিন্দু ব্যাচ স্ক্রিপ্ট পথ এবং ফাইলের নাম।
আমি আপনার জন্য ইতিমধ্যে সেটআপ যুক্তিটি পুনরায় ব্যবহার করেছি, তবে আমি কয়েকটি অতিরিক্ত ভেরিয়েবল এবং শর্তাধীন যোগ করেছি যদি স্থানীয় মেশিনে স্থানীয় ফোল্ডারটি তৈরি করা যুক্তিটি যদি বিদ্যমান থাকে না তবে ব্যাচ স্ক্রিপ্টটি বাস করবে মুছে ফেলা এটি রান প্রতি নির্মিত হয় যে ফোল্ডারে ব্যাচ ফাইল ইতিমধ্যে বিদ্যমান থাকে।
এটি হ'ল প্রত্যেকটি এক্সিকিউটেড (লগইন এ) একবার এটি একটি গতিশীল ব্যাচ স্ক্রিপ্ট তৈরি করবে। এটি তৈরি করে ব্যাচ স্ক্রিপ্ট গঠিত হবে Reg Add লজিক এবং এসআইডি অংশ মূল্যের সাথে কমান্ডগুলি ব্যবহারকারীর লগইন স্ক্রিপ্টের জন্য লগইন স্ক্রিপ্টটি হচ্ছে। তাই যখন কাজের সূচি স্ক্রিপ্টটি কার্যকর করে, এটি নিশ্চিত করে যে স্ক্রিপ্টটিতে সর্বদা লগইন / স্ক্রিপ্ট এক্সিকিউশন সম্পর্কিত প্রয়োজনীয় মান থাকে।
@ECHO ON
SET LocalDir=C:\localfolder
SET TaskScript=TaskScript.cmd
IF NOT EXIST "%LocalDir%" MD "%LocalDir%"
IF EXIST "%LocalDir%\%TaskScript%" DEL /Q /F "%LocalDir%\%TaskScript%"
for /f "tokens=2" %%i in ('whoami /user /fo table /nh') do set usersid=%%i
ECHO reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\%usersid%" /v "State" /t REG_DWORD /d 128 /f>>"%LocalDir%\%TaskScript%"
schtasks /run /tn "My Profile Changer"
আপনি শুধুমাত্র আপনি যে টাস্ক যা বলুন নিশ্চিত করতে হবে schtasks চালানো (যেমন। "My Profile Changer" ) আপনি লগইন ব্যাচ স্ক্রিপ্টে উল্লেখ হিসাবে একই পূর্ণ পাথ নির্দেশ SET LocalDir= এবং SET TaskScript= পরিবর্তনশীল মান।
তাই লগইন স্ক্রিপ্ট ভেরিয়েবল সমান C:\localfolder\TaskScript.cmd তারপর এই একই মান আপনি চান Program/Script ক্ষেত্র নির্দেশ করতে। আমি নির্বাণ সুপারিশ করবে SET LocalDir= পরিবর্তনশীল মান Start in (optional): ক্ষেত্র কিন্তু আপনি কোন আর্গুমেন্ট যোগ করার প্রয়োজন হবে না তাই ছেড়ে Add Arguments (optional): ক্ষেত্র খালি বা এটি ছাড়া কিছুই খালি ( নিচে স্ক্রিন শট )।
schtasks কমান্ড লাইন বা GUI কার্য নির্ধারণকারী থেকে। আপনি পরে যুক্তি তৈরি করতে পারেন schtasks ব্যাচ স্ক্রিপ্ট এবং ফোল্ডারটি মুছে ফেলার জন্য এটি সম্পূর্ণ হবে না এবং শেষ-ব্যবহারকারীকে উভয় তৈরি করতে হবে এবং তারপরে কমান্ড লাইন অ্যাক্সেস, বা কার্য নির্ধারণকারী GUI অ্যাক্সেস থাকবে এবং কীভাবে চালানো হবে তা জানতে হবে।