پاسخ : دستورات فایلهای Batch
در جلسه قبل گفتم که ما باید کاری کنیم که فایل Batch موقع اجرا ، اول درایو CDROM را شناسائی کرده و سپس
کارش را انجام دهد.
با یک کلک ساده و ابتدائی ، فقط با نوشتن یک سطر دستور ، میتوانیم کاری کنیم که فایل Batch فوری سی دی ما را
شناسائی بکند.چون ممکن است این مطلب مقداری گیج کننده باشد ، لذا برای درک درست مطلب با دقت به شرح
زیر توجه فرمائید:
__ در یک کامپیوتر حداکثر چند تا درایو می توانیم داشته باشیم؟
جواب معلوم است : به تعداد حروف الفبای انگلیسی ، یعنی 26 درایو .چون درایو های کامپیوتر از حرف A شروع شده
و با حرف Z تمام می شوند.
تا اینجا ما باید به فایل Batch بگوئیم که بایستی درایو CDROM را بین 26 حرف بگردد.(چگونگی گشتن را بعدا" توضیح خواهم داد).
__ در تمام کامپیوتر ها حروف A و B مخصوص درایو فلاپی است و ما هم که نمیخواهیم دنبال درایو فلاپی بگردیم.لذا لازم
نیست که فایل Batch دنبال 26 حرف بگردد بلکه تا اینجا باید بین 24 حرف (حروف C تا Z ) بگردد.
__ هر کامپیوتری حداقل یک هارد دارد و هر هارد حداقل یک پارتیشن دارد. هاردی که فقط یک پارتیشن دارد ، نام اولین
حرف بعد از فلاپی یعنی حرف C را به خودش اختصاص می دهد. بنابراین فایل Batch ما نباید دنبال حرف C هم بگردد
پس تا اینجا باید به فایل Batch بفهمانیم که درایو CDROM را بین 23 حرف (حروف D تا Z ) بگردد.
اگر تا اینجای مطلب را درست متوجه شدید ، حالا وقت آن است که این موضوع را به فایل Batch هم بفهمانیم.
اینکار واقعا" ساده است و فایل Batch با دیدن یک سطر دستور منظور ما را فهمیده و در چند لحظه درایو CDROM را
شناسائی و پیدا خواهد کرد.
ما در اینجا از دستور FOR استفاده خواهیم کرد که اگر مطالب گفته شده در باره این دستور را درست مطالعه کرده
باشید ، خواهید دید که خیلی راحت است.
همراه دستور FOR از یک کلک ویژه استفاده خواهیم کرد تا فایل Batch بتواند منظور ما را انجام دهد.
به مثال زیر توجه فرمائید:
فرضا" ما میخواهیم یک سی دی درست کنیم و داخلش برنامه های متفاوتی قرار دهیم .و فرضا" در داخل این سی دی
یک پوشه بنام XXX داریم که داخلش فایل های AAA.exe و BBB.exe و CCC.exe وجود دارند .
ما میخواهیم یک فایل Batch درست کنیم که اگر پس از گذاشتن سی دی در سی دی رام ، این فایل Batch را اجرا
کنیم ، برود وارد همین سی دی شود و سپس بترتیب فایل های موجود در داخل پوشه XXX را اجرا کند.
خب ، حالا ممکن است ما همزمان دو تا سی دی در کامپیوترمان باشد ، حالا فایل Batch از کجا باید بداند که باید داخل
کدام سی دی وارد شود؟
اینجاست که ما همان کلک ویژه را که گفتم انجام میدهیم:
برنامه notepad را باز کنید و بعد بدون اینکه حتی چیزی در آن تایپ کنید آن را با نام CD.txt ذخیره کرده و سپس این
فایل را در روت سی دی خود قرار دهید.
حال فایل Batch با محتوای زیر را درست کرده و آن را هرجائی مثلا" در دسکتاپ با هر نامی مثلا" Run.cmd ذخیره کنید:
کد:
@echo off
FOR %%i IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\CD.txt SET CDROM=%%i:
%CDROM%\XXX\AAA.exe
%CDROM%\XXX\BBB.exe
%CDROM%\XXX\CCC.exe
اگر سی دی با مشخصات گفته شده در بالا را داخل کامپیوتر گذاشته و سپس فایل Batch بالا را اجرا کنید ، در عرض
چند لحظه ، فایل Batch سی دی رام را پیدا کرده و سپس فایل های گفته شده در بالا را از داخل پوشه XXX اجرا
خواهد کرد.
اگر فکر میکنید که دستور بالا مقداری گنگ است یادداشت بگذارید تا شرح دهم.
پاسخ : دستورات فایلهای Batch
ادواردوی عزیز ، انگار شما تنها کسی هستید که بطور کامل این تاپیک را دنبال میکنید
پاسخ : دستورات فایلهای Batch
کاربردی از دستور net user
================
با استفاده از دستور net user بسادگی میتوانید در چند لحظه پسورد کاربر را در ویندوز های XP و 7 تغییر دهید.
فرضا" با اجرای دستور زیر پسورد کاربر به a1b2c3 تغییر پیدا خواهد کرد:
کد:
@Echo off
net user %USERNAME% a1b2c3
یعنی در ری استارت بعدی اگر کاربر پسورد a1b2c3 را وارد نکند ، نمی تواند وارد شود.
پاسخ : دستورات فایلهای Batch
استاد اگر کاربر کامپیوتر پسورد نداشته باشد بازهم با اجرای این فایل پسورددار میشود
پاسخ : دستورات فایلهای Batch
بله
در حقیقت با دستور بالا به کاربر فعلی پسورد داده می شود.
پاسخ : دستورات فایلهای Batch
ببخشید استاد من یه مشکلی در مورد یه نرم افزار داشتم که دستوراتش به نظرم ربطی به این تاپیک داره و سوالمو در اینجا مطرح کردم من مشکلمو که در عکس زیر اونا رو رنگی کردم میخواستم ببینم که اون5تا چه فرقی باهم دارند ومن اگه بخوام که مشخص کنم یوزری که موقع نصب به کامپیوتر میدیم هر یوزری که ما انتخاب کنیم بین اینها کدوم هستش
http://8pic.ir/images/dm953n9193kvhjbup1dj_thumb.jpg
پاسخ : دستورات فایلهای Batch
نمیدانم که از چه نرم افزاری استفاده می کنید که خیلی از موارد را که مثل هم نیستند ، یکی میداند.
بهر حال در ویندوز 7 بشرح زیر است:
کد:
%HOMEDRIVE% = C:
%HOMEPATH% = C:\Users\{username}
%USERPROFILE% = C:\Users\{username}
پاسخ : دستورات فایلهای Batch
استاد این قسمتی از نرم افزار win toolkit هستش به نام addon maker که روشی برای ساخت نرم افزار با فرمت ویژه win toolkit میباشد من با دستور شما در پست بالا هم تست کردم اما همشونو در یوزر Default کپی میکنه به نظرتون مشکل چیه که یوزر ساخت من رو نمیشناسه ((home))
پاسخ : دستورات فایلهای Batch
من علت را نمیدانم و فقط میتوانم بگویم:
1. درست نیست که نام User را عباراتی از قبیل Home انتخاب کنیم. چون این اسامی جزو نام های رزو شده سیستم هستند
و ممکن است اشکال ساز شوند. و حتی ممکن است که همین مسئله باعث ایجاد مشکل در سیستم شما میشود.
2. مورد بالا را رعایت کرده و نام دیگری برای User انتخاب کن ( مثلا" Sahand ) ودوباره امتحان کن.
3. دقیقا" بگو که چه چیزی را میخواهی در پوشه کاربر قرار دهی شاید روش دیگری بتوانیم پیشنهاد بکنیم.
پاسخ : دستورات فایلهای Batch
استاد من یوزر کامپیوتر رو طبق دستور شما به sahand تغییر دادم ولی در درایو ویندوز اسمی از یوزر انتخابی من نیست 4تا یوزر هست که در عکس گذاشتم ایا در این عکس که یوزری با نام home هستش همون یوزر قبلی من هست یا چیز دیگری هست واینکه چرا در فولدر یوزرها اسمی از یوزر الان من که sahand هستش نیست
http://8pic.ir/images/rkb9drxly9a5k60ix6vy_thumb.jpg