برخی کاربران به وفور از Command Prompt یا PowerShell استفاده میکنند و ممکن است هر بار پس از باز کردن پنجرهی cmd یا مشابه آن، PowerShell، دستورات تکراری را وارد کنند. به عنوان مثال ممکن است هر بار با دستور cd، فولدری کاری را به فولدر خاصی تغییر بدهند.
خوشبختانه با ترفندی ساده میتوانید کاری کنید که هر بار که cmd یا پاورشل را اجرا میکنید، دستورات تکراری و همیشگی اجرا شود.
در این مقاله با روش اجرای خودکار چند دستور در شروع به کار cmd یا PowerShell آشنا میشویم.
نحوه اجرای خودکار دستورات در شروع به کار PowerShell
برای اجرای خودکار دستورات در واسط خط دستور جدیدی که مایکروسافت در ویندوز اضافه کرده و نام آن PowerShell است، میبایست پروفایل خویش را ویرایش کنید. اگر پروفایلی نساختهاید، با اجرا کردن دستور زیر بررسی کنید که آیا پروفایلی موجود است یا خیر:
Test-Path $Profile
با فشار دادن کلید Enter ، ممکن است False به معنی فقدان پروفایل یا True به معنی موجود بودن پروفایل چاپ شود.
در صورت False بودن خروجی، دستور زیر را اجرا کنید تا پروفایل جدیدی ساخته شود:
New-Item –Path $Profile –Type File –Force
البته اگر پیشاپیش پروفایلی وجود داشته باشد، با اجرای دستور فوق، پروفایل جدید جایگزین آن میشود.
اکنون برای ویرایش دستوراتی که در شروع به کار PowerShell هر بار اجرا میشود، پروفایل را ویرایش کنید. برای این کار ابتدا دستور زیر را اجرا کنید که نتیجهی آن باز شدن پروفایل در نرمافزار Notepad ویندوز است:
notepad $Profile
فایل پروفایل خالی است و هیچ دستوری در آن وجود ندارد. این فایل درست شبیه به فایل پروفایل Bash لینوکس است که در مسیر ~/.bash_profile قرار دارد. لذا کاربران لینوکس با این روش کاملاً آشنایی دارند.
معمولاً پاورشل برای حفظ امنیت سیستم، از اجرای دستورات خودکار جلوگیری میکند. برای رفع مشکل و اجرای دستورات، ابتدا پاورشل را با دسترسی ادمین اجرا کرده و دستوری را اجرا کنید.
توجه کنید که برای اجرا کردن پاورشل با دسترسی ادمین، کافی است روی آیکون منوی استارت راستکلیک کنید یا Win + X را فشار بدهید و سپس گزینهی Windows PowerShell (Admin) را انتخاب کنید.
سپس دستور زیر را در آن وارد کرده و Enter را فشار دهید.
Set-ExecutionPolicy RemoteSigned
در ادامه با فشار دادن کلید Y و سپس Enter، تنظیمات جدید اجرای اسکریپت را تأیید کنید.
اجرای خودکار دستورات در شروع به کار cmd
برای این کار دو روش ساده وجود دارد. روش اول استفاده از رجیستری ویندوز و تغییراتی در آن به منظور استفاده از فایلی خاص است و روش بعدی ساخت یک شورتکات خاص برای اجرای cmd است و استفاده از آن برای اجرا کردن واسط خط دستور قدیمی ویندوز است. قبل از پیادهسازی روش اول، بهتر است از رجیستری ویندوز بکاپی تهیه کنید یا یک Restore Point ساده ایجاد کنید تا در صورت اشتباه، بازگشت به حالت فعلی ساده و سریع باشد.
استفاده از رجیستری ویندوز برای اجرای خودکار دستورات cmd
در این روش میبایست فایلی که برای اجرا کردن cmd استفاده میشود را به جای فایل پیشفرض اجرا کنیم. به عنوان مثال اگر بخواهیم فایلی به اسم auto.cmd برای شروع به کار کامند پرامپت اجرا شود، میبایست دستور زیر را در cmd اجرا کنیم:
reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun ^ /t REG_EXPAND_SZ /d "%"USERPROFILE"%\init.cmd" /f
و اما فایل auto.cmd که میبایست آن را در فولدر مربوط به حساب کاربری خویش اضافه کنید. مسیر فایل موردبحث به صورت زیر است:
C:\Users\%USERNAME%
لذا فایل اکسپلورر ویندوز را با فشار دادن کلید میانبر Win + E باز کنید و سپس آدرس فوق را کپی کرده و در نوار آدرس فایل اکسپلورر پیست کنید. با زدن کلید Enter، بخش %USERNAME% از آدرس فولدر به نام حساب کاربری شما تبدیل میشود.
اکنون در فضای خالی فولدر راست کلیک کنید و با انتخاب New و سپس Text Document، فایل متنی جدیدی ایجاد کنید.
روی فایل دبلکلیک کنید و دستوراتی که میبایست در شروع به کار cmd به صورت خودکار اجرا شود را تایپ کنید. در نهایت روی منوی File کلیک کرده و روی Save As را انتخاب کنید. فایل خروجی را با نام auto.cmd در همان فولدر ذخیره کنید. پس از این کار میتوانید فایل متنی سادهای که ایجاد کرده بودید را حذف کنید و تنها فایل auto.cmd را در فولدر حساب کاربری خویش باقی بگذارید.
به این ترتیب هر بار که cmd اجرا میشود، دستورات موجود در فایل auto.cmd اجرا خواهد شد. در صورت عدم نیاز به این دستورات خودکار، میتوانید فایل auto.cmd را ویرایش کرده و همهی دستورات وارد شده را حذف کنید. روش دیگر اجرا کردن دستور زیر است که مقدار ایجاد شده در رجیستری ویندوز را حذف میکند.
reg delete "HKCU\Software\Microsoft\Command Processor" /v AutoRun
اجرای خودکار دستورات در cmd با ویرایش شورتکات
روش بعدی برای اجرای خودکار دستورات این است که شورتکاتی برای اجرای cmd بسازید که با دبلکلیک روی آن، دستوراتی به صورت خودکار اجرا میشود.
برای این کار ابتدا روی دستاپ یا فولدر موردنظر خویش راستکلیک کنید و گزینهی New و سپس Shortcut را انتخاب کنید. در پنجرهی باز شده و در فیلد آدرس، عبارت زیر را وارد کنید و به جای بخش COMMAND، دستور موردنظر را قرار دهید:
C:\Windows\System32\cmd.exe -cmd /K COMMAND
به عنوان مثال برای اجرا کردن دستور ipconfig -all که اطلاعاتی مثل آدرس آیپی را چاپ میکند، مثل تصویر زیر عمل کنید:
و سپس روی Next کلیک کنید. در صفحهی بعدی نیز نام شورتکات را به صورت دلخواه وارد کرده و روی Finish کلیک کنید.
برای اجرا کردن چند دستور به صورت پشتسرهم، میبایست دستورات را با وارد کردن && پشتسرهم قرار بدهید. به عنوان مثال برای اجرای دستورات COMMAND1 و COMMAND2، آدرس شورتکات را به صورت زیر تایپ کنید:
C:\Windows\System32\cmd.exe -cmd /K COMMAND1 && COMMAND2
به عنوان مثال برای اجرای دستور cls که محتویات پنجرهی cmd را پاک میکند و سپس دستور ipconfig، از آدرس زیر استفاده کنید:
C:\Windows\System32\cmd.exe -cmd /K cls && ipconfig -all
توجه کنید که فایل cmd.exe به صورت پیشفرض در درایو C و در آدرس زیر قرار دارد. اگر در سیستمی اینگونه نیست، آدرس فایل cmd.exe را تغییر بدهید.
C:\Windows\System32\
maketecheasierسیارهی آیتی
با سلام و تشکر از شما به خاطر سایت مفیدتون.
یه سوال داشتم که آیا اجرای خودکار دستورات در Diskpart با ویرایش شورتکات مثل CMD امکانپذیر هست یا نه؟ اگه هست دستور اون رو هم بفرمائید. با تشکر.
سلام
فکر میکنم باشه ولی تا حالا در موردش چیزی نخوندم و سرچ نکردم. شاید مثلاً یه دستوری باشه که مثلاً بیاد تأخیر بزاره بین اجرای دستورات پشتسرهم، اینطوری شدنیه. مقالهای در این خصوص ببینم میذارم تو برنامهی کاری سایت ولی خب به دلیل مشکلات مالی با نویسندهها قطع همکاری کردیم و خیلی صف مقالات طولانی شده.