اگر بخواهیم بطور تخصصی در رابطه با Redirection صحبت کنیم، ممکن است مطلب مقداری سنگین شود
لذا بر آن شدم که نکات لازم را مختصر ولی بصورت مثال های عملی توضیح دهم.
فرض کنیم که میخواهید با اجرای یک دستور Batch زمان و تاریخ این لحظه در یک فایل متنی نوشته شود
برای انجام این کار یک فایل Batch با محتوای زیر نوشته و آن را در دسکتاپ با نام Time.cmd ذخیره نمائید:
کد:
echo %date% %time% >xxx.txt
حال اگر این فایل را اجرا کنید، خواهید دید که فایلی بنام xxx.txt در دسکتاپ ساخته شد. واگر فایل xxx.txt
را باز کنید مشاهده خواهید کرد که زمان فعلی بصورت مثال زیر در داخل آن ثبت شده است:
کد:
Mon 12/26/2016 15:45:01.13
ما در مثال بالا برای انحام خواسته خود از علامت < استفاده کردیم.
حالا بیائیم یک مثال دیگر را امتحان کنیم.فرض کنید که در داخل دسکتاپ شما تعدادی فایل وجود دارند و
شما میخواهید با اجرای یک دستور اسامی فایل های موجود در دسکتاپ را در داخل یک فایل متنی بنویسید
برای این کار دستور زیر را در داخل فایل Batch تایپ کنسد:
کد:
dir /a /b /-p /o:gen >xxx.txt
حال اگر آن را اجرا کنید، خواهید دید که فایلی بنام xxx.txt در دسکتاپ ساخته شد. واگر فایل xxx.txt را باز
کنید مشاهده خواهید کرد که اسامی فایل ها و دایزکتوری ها و شورت کات های موحود در دسکتاپ در داخل
آن نوشته شده اند.
با دو تا مثال بالا دیدیم که میتوانیم با استفاده از علامت < کاری کنیم که فایل Batch نتیجه کارش را عوض
نشان دادن به ما در پنجره خط فرمان، در داخل یک فایل متنی ذخیره کند.
حالا به مرحله دیگری از این کار می پردازیم که بهتر و قوی تر است.
فرض کنیم که میخواهیم کاری کنیم که با اجرای یک فایل Batch هم زمان انجام کار و هم نتیجه کار در داخل
یک فایل متنی ذخیره شود.
برای انجام اینکار برابر روش بالا باید دو تا دستور زیر را داخل فایل Batch بنویسیم:
کد:
echo %date% %time% >xxx.txt
dir /a /b /-p /o:gen >xxx.txt
ولی اگر فایل Batch بالا را اجرا کنیم، خواهیم دید که در فایل متنی فقط نتیجه دومین دستور یعنی نشان دادن
محتویات دسکتاپ وجود داشته و اثری از زمان انجام کار نیست.
ولی اگر دستورات بالا را با مختصر تغییر بصورت زیر نوشته و اجرا کنیم خواهیم دید که اول زمان نوسته شده و
بعد از آن محتویات دسکتاپ قرار گرفته اند:
کد:
echo %date% %time% >>xxx.txt
dir /a /b /-p /o:gen >>xxx.txt
تنها فرقی که دستور جدید با دستور قبلی دارد این است که در اینجا بجای یک علامت < از دو تا علامت <<
استفاده کردیم.
اگر از یک علامت < استفاده کنیم، هر دفعه ای که فایل اجرا می شود، برنامه اول محتوای فایل متنی را پاک
کرده و سپس نتیجه کارش را می نویسد.و در این مثال با اجرای سطز اول، رمان نوشته می شود ولی با اجرای
دستور سطر دوم، متن داخل فایل متنی یعنی زمان پاک شده و نتیحه آخرین دستور یادداشت می شود.
ولی اگر دو تا علامت << استفاده کنیم برنامه دیگر محتوای فایل متنی را پاک نکرده و نتیجه کار را در سطر
بعد از انتهای متن موجود یادداشت می نماید.
در مثال های بالا دیدیم که چگونه میتوانیم با استفاده از علامت < کاری کنیم که نتیجه کار فایل Batch در یک
فایل متنی در کنار فایل Batch ذخیره شود.
مطلب در رابطه با Redirection زیاد است ولی قسمتی که شما مورد نظرتان بود در بالا تشریح شد.
موفق باشید.
علاقه مندی ها (بوک مارک ها)