• بادئ الموضوع بادئ الموضوع LINEZERO
  • تاريخ البدء تاريخ البدء
  • المشاهدات 113,357
الحالة
مغلق و غير مفتوح للمزيد من الردود.
بالتوفيق يابطل... مع ان عندي حساسيه من الحكوومه :q:​

وش فيهم الحكومة ... يسهرون لخدمة الشعب :hh: ولا تبيهم نايمين بس :wink:
 

توقيع : موريادي
اخي رامي ..​


في قاعدة if الشرطيه يتم تنفيذ الاوامر في حالة تحقق الشرط فقط :smile:



واذا كان البرنامج لايعمل في الذاكره فان الشرط غير متحقق .. فسيذهب الى else وام لم تكن موجوده سيخرج من كود if .. وسيكمل الاوامر التي يعد جملة if​


لااحظ التالي .. في الكود السابق الشرط هو وجود الملف .. والملف موجود بكل جهااز .. تقريباً :d:
ولااحظ ايضاٌ ان البرنامج اذا لم يعمل بالذاكره فانه سيخرج من الكود كامل .. لوجود امر الخروج Exit​

:i:

بارك الله فيك خلاص جربت حذف exit وتم تجربة كود وأكمل باقي الاوامر مشكور يا الغالي:king:

الله يعينك ياعبدالله .. والموضوع تكليف اكثر من تشريف :i:

2379cc59aff5a837cddf8f041fc452cc.png

وانت قدها ونص

بالتوفيق يابطل... مع ان عندي حساسيه من الحكوومه :q:​


مبروك لعبد الله الاشراف
 
توقيع : ramay
التعامل مع أوامر DOS في AutoIt

التعامل مع أوامر DOS في AutoIt



أول مانتكلم عن DOS

في الاتوات أول مايتبادر في ذهن الناس خاصه الي عنده خلفية في اللغة

دالة RunDos لكن نحن راح نأخذ الموضوع بإستفاضه شوي..

ونعرف شو هي دالة RunDos لكن في البداية نعرف .. على إيش هي مبنية ..


أولاُ : راجع الدرس هذا..[
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
]

حنا قلنا أن الدالة RunWait في الوسيط الاولprogram تستقبل سلسله حرفية نص..

النص هذا بيكون مسار البرنامج .. ويمكن إرسال سويتشات ووسيطات للبرنامج أيضاً ..

فالاتوات لا تتعامل مع أوامر الدوس بشكل مباشر .. إنما نشغل البرنامج المسؤول عن

الدوس في النظام ونرسل له الاوامر :d:...

البرنامج هو CMD.exe.

قبل مانأخذ طريقة إرسال الاوامر له .. راح نأخذ طريقة تشغيلة .. طبعاً بإستخدام دوال التشغيل

وراح نستخدم دالة RunWait

نقدر نقول إنها طريقة واحده بس بعده صور ..

أول طريقة إرسال مسار البرنامج للدالة /

كود:
[COLOR=Navy][I]RunWait[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Magenta]@SystemDir[/COLOR] [COLOR=Red]&[/COLOR] [COLOR=Silver]"\Cmd.exe"[/COLOR][COLOR=Red]) [/COLOR]

[COLOR=YellowGreen];@SystemDir = X:\WINDOWS\system32 [/COLOR]
الطريقة الثانية /

كتابة إسم الملف مباشرة

كود:
[I][COLOR=Navy]RunWait[/COLOR][/I][COLOR=Red]([/COLOR][COLOR=Silver]"Cmd.exe"[/COLOR][COLOR=Red])[/COLOR]
لماذا كتبت إسم الملف مباشرة :?: .. حنا نعرف إن الملفات ألي تكتب إسمها مباشرة

دون كتابة المسار كامل هي الملفات ألي في نفس المجلد مع السيكريبت ..

لكن البرنامج هذا في System32

نقول في مجلدات في الويندوز يمكن الوصول للملفات ألي تحويها بطريقة مباشرة ..و System32

منها للتعرف على هذي المسارات شغل شاشه الدوس وأكتب الامر path

راح تلاحظ العديد من المسارات بينها وبين بعض ; فهذي المسارات يمكن الوصول لملفاتها مباشره ..

نصيحة : لاتعتمد على هذي الطريقة إلا مع ملفات النظام الي واقعه في المسارات هذي

لأنها ثابته في كل نظام تشغيل .. راح تلاحظ عندك إن في مسارات للبرامج ثانية طبعاُ البرامج هذي مضيفة

نفسها لمسارات النظام فقد تكون عندك وعند غيرك لا ..:d:

الطريقة الثالثة /

إستخدام الماكرو @ComSpec

هذا الماكرو يعود بمسار CMD لديك وهذي أفضل طريقة ...

كود:
[COLOR=Navy][I]RunWait[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Magenta]@ComSpec[/COLOR][COLOR=Red])[/COLOR]
الان عرفنا كيفية الوصول للملف Cmd

نبي نعرف كيف إرسال الاوامر له :d:

الملف يستقبل أكثر من سويتش يهمنا منها فقط إثنان ..

صيغته العامة

كود:
[COLOR=Silver]Cmd.exe[COLOR=Red] [[/COLOR]/C[COLOR=Red]|[/COLOR]K[COLOR=Red]][/COLOR] command[COLOR=Red]][/COLOR][/COLOR]
طبعاُ الاقواس المربعه لاتكتب ..
كود:
[COLOR=Silver][COLOR=Red] [[/COLOR]/C[COLOR=Red]|[/COLOR]K[COLOR=Red]][/COLOR][/COLOR]


هنا نعني إما إرسال السويتش K/ أو C/

/C

هذا السويتش هو المستخدم في الغالب ..

ويعني نفذ الاوامر وأخرج ..

K/

هذا السويتش يعني نفذ وأكمل أي تبقى شاشة الدوس ظاهره ..


command : هنا نكتب الاوامر والاوامر تكتب على هيئة نصوص طبعاُ للتعرف على

أوامر الدوس هذي دورة كاملة لها :d:

يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


نجي الان للأمثلة :d:

كود:
[COLOR=Navy][I]RunWait[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Magenta]@ComSpec[/COLOR] [COLOR=Red]&[/COLOR] [COLOR=Silver]" /K "[/COLOR] [COLOR=Red]&[/COLOR][COLOR=Silver] "echo Welcome"[/COLOR][COLOR=Red])[/COLOR]

هنا إستخدمت السويتش K/ لكي تبقى شاشة الدوس ظاهره ..

لو إستخدمت C/ لازم تكتب الامر pause لتبقى الشاشة ظاهره...

كود:
[COLOR=Navy][I]RunWait[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Magenta]@ComSpec[/COLOR] [COLOR=Red]&[/COLOR] [COLOR=Silver]" /C " [/COLOR][COLOR=Red]&[/COLOR][COLOR=Silver] "echo Welcome && Pause"[/COLOR][COLOR=Red])[/COLOR]
في الغالب وهو الافضل إننا نريد أن تنفذ أوامر الدوس في الخلفية لاتظهر شاشة الدوس .. فهنا راح

نستخدم الماكرو @SW_HIDE

ألي مايعرف هذا الماكرو يراجع درس تشغيل الملفات ..

كود:
[COLOR=Navy][I]RunWait[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Magenta]@ComSpec[/COLOR] [COLOR=Red]&[/COLOR] [COLOR=Silver]" /C "[/COLOR] [COLOR=Red]&[/COLOR] [COLOR=Silver]"md %systemdrive% \Abdullah"[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Magenta]@SW_HIDE[/COLOR][COLOR=Red])[/COLOR]
عمل الكود السابق هو إنشاء مجلد في قرص النظام بإسمي:d:

نأتي الان لدالة Rundos_

هذ الدالة ماهي إلا تغليف للإستخدام الدالة RunWait مع Cmd

فبدال ماتكتب كل ألي فوق عليك فقط كتابة الاوامر .. وهي دالة ليست معرفه مع اللغة بل
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي



راح نأخذ طريقه بناء الدوال الخاصه بنا لاحقاً ...

نقدر نشبه الدالة Rundos_ بهذي الصورة المبسطة ..


كود:
[COLOR=DarkRed]$command[/COLOR] [COLOR=Red]=[/COLOR][COLOR=Silver]"md %systemdrive% \Abdullah"[/COLOR]

[COLOR=Navy][I]RunWait[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Magenta]@ComSpec[/COLOR] [COLOR=Red]&[/COLOR] [COLOR=Silver]" /C "[/COLOR] [COLOR=Red]&[/COLOR] [COLOR=Red],[/COLOR][COLOR=DarkRed]$command[/COLOR]  [COLOR=Red],[/COLOR][COLOR=Magenta]@SW_HIDE[/COLOR][COLOR=Red])[/COLOR]
غير في قيمة المتغير command راح تلاحظ إنه يتم تنفيذ الاوامر بدون مشاكل

بدون التعديل في الدالةRunWait

فكره Rundos_ نفس هذي الفكرة :d:

الصيغة العامة للدالة :

كود:
[COLOR=Magenta]#include[/COLOR] [COLOR=Silver]<Process.au3>[/COLOR]
[COLOR=DeepSkyBlue]_RunDOS[/COLOR] [COLOR=Red]([/COLOR][COLOR=Silver] "Command"[/COLOR] [COLOR=Red])[/COLOR]
#include : تضمين الملف Process.au3 >> ألي متعرفة فية الدالة ..راح نأخذه بالتفصيل لاحقاُ

هذا السطر ضروري ولا تغير فية أي شيء :d:

Command : أمر الدوس المراد تنفيذه ..

القيمة الراجعه للداله .. نفس القيمة الراجعه ل RunWait

ألي مافصلنا فيها لحد الان لكن قريب إن شاء الله :d:


مثال /

كود:
[COLOR=Magenta]#include[/COLOR] [COLOR=Silver]<Process.au3>[/COLOR]
[COLOR=DeepSkyBlue]_RunDOS[/COLOR][COLOR=Red] ([/COLOR][COLOR=Silver]"rd %systemdrive% \Abdullah"[/COLOR][COLOR=Red])[/COLOR]
حذف المجلد ألي أنشأته سابقاُ :d:


:d:
 
توقيع : waget
الله يعينك ياعبدالله .. والموضوع تكليف اكثر من تشريف :i:



وانت قدها ونص
بالتوفيق يابطل... مع ان عندي حساسيه من الحكوومه :q:​

اللهم آمين اخوي ...

الله يعيننا وإن شاء الله مايكون عندنا زنقه زنقه ودايم بإذن الله إلى الامام إلى الامام :hh:


مبروك لعبد الله الاشراف
[/CENTER]


الله يبارك فيك أخوي

:king::king:
 
توقيع : waget
تطبيقاتي المتواضعه والمتأخرهـ .. :b:

1#


كود:
#NotrayIcon
[COLOR=#0000ff]Switch[/COLOR] [COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]3[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Zyzooom"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Test .. AutoIt"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Case[/COLOR] [COLOR=#ac00a9]6[/COLOR]
    [COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Zyzooom"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"You press 'yes'"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Case[/COLOR] [COLOR=#ac00a9]7[/COLOR] 
    [COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Zyzooom"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"You press 'No'"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Case[/COLOR] [COLOR=#ac00a9]2[/COLOR] 
    [COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Zyzooom"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"You press 'Cancel'"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]End[COLOR=#0000ff]Switch[/COLOR][/COLOR]

2#

كود:
[COLOR=#f000ff]#Include[/COLOR][COLOR=#9999cc] <Process[COLOR=#0000ff].au3[/COLOR]>[/COLOR]
[COLOR=#aa0000]$x[/COLOR] [COLOR=#ff0000]=[/COLOR] [COLOR=#000090]InputBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#9999cc]"Zyzoom .. Test AutoIt"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"CMD"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"ipconfig && Pause"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=Navy]RunWait[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ff33ff][COLOR=#ff33ff]@comspec[/COLOR][/COLOR] [COLOR=#ff0000]&[/COLOR] [COLOR=#9999cc]" /C "[/COLOR] [COLOR=#ff0000]&[/COLOR] [COLOR=#aa0000]$x[/COLOR][COLOR=#ff0000])[/COLOR]

سؤالي هل يمكن إستخدام السويتشات بالـ "Rundos_" :?:

:p:
 
توقيع : Bo.SaQeR
تطبيقاتي المتواضعه والمتأخرهـ .. :b:

1#


كود:
#NotrayIcon
[COLOR=#0000ff]Switch[/COLOR] [COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]3[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Zyzooom"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Test .. AutoIt"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Case[/COLOR] [COLOR=#ac00a9]6[/COLOR]
    [COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Zyzooom"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"You press 'yes'"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Case[/COLOR] [COLOR=#ac00a9]7[/COLOR] 
    [COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Zyzooom"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"You press 'No'"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Case[/COLOR] [COLOR=#ac00a9]2[/COLOR] 
    [COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Zyzooom"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"You press 'Cancel'"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]End[COLOR=#0000ff]Switch[/COLOR][/COLOR]

2#

كود:
[COLOR=#f000ff]#Include[/COLOR][COLOR=#9999cc] <Process[COLOR=#0000ff].au3[/COLOR]>[/COLOR]
[COLOR=#aa0000]$x[/COLOR] [COLOR=#ff0000]=[/COLOR] [COLOR=#000090]InputBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#9999cc]"Zyzoom .. Test AutoIt"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"CMD"[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"ipconfig && Pause"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=Navy]RunWait[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ff33ff][COLOR=#ff33ff]@comspec[/COLOR][/COLOR] [COLOR=#ff0000]&[/COLOR] [COLOR=#9999cc]" /C "[/COLOR] [COLOR=#ff0000]&[/COLOR] [COLOR=#aa0000]$x[/COLOR][COLOR=#ff0000])[/COLOR]
سؤالي هل يمكن إستخدام السويتشات بالـ "Rundos_" :?:

:p:


للأوامر الدوس نعم ..

كود:
RunWait(@ComSpec &" /C " &"del /f /q %temp%\*.*")
 
توقيع : waget
للأوامر الدوس نعم ..

كود:
RunWait(@ComSpec &" /C " &"del /f /q %temp%\*.*")

أقصد مع الـ

كود:
[B][FONT=Times New Roman][COLOR=Black][SIZE=3][B][COLOR=Magenta]#include[/COLOR] [COLOR=Silver]<Process.au3>[/COLOR]
[COLOR=DeepSkyBlue]_RunDOS[/COLOR][COLOR=Red] ([/COLOR][COLOR=Silver]"Command"[/COLOR][COLOR=Red])[/COLOR][/B][/SIZE][/COLOR][/FONT][/B]

لأني جربته ما ضبط .. :f:
 
توقيع : Bo.SaQeR
أقصد مع الـ

كود:
[B][FONT=Times New Roman][COLOR=Black][SIZE=3][B][COLOR=Magenta]#include[/COLOR] [COLOR=Silver]<Process.au3>[/COLOR]
[COLOR=DeepSkyBlue]_RunDOS[/COLOR][COLOR=Red] ([/COLOR][COLOR=Silver]"Command"[/COLOR][COLOR=Red])[/COLOR][/B][/SIZE][/COLOR][/FONT][/B]
لأني جربته ما ضبط .. :f:

:d: أصلاُ مافي فرق بين إستخدام rundos أو runwait مع cmd .. هي هي

كود:
#include <Process.au3>
_RunDOS ("del /f /q %temp%\*.*")

أخوي الله يرضى عليك هات الكود ألي ما إشتغل معك ..

:king:
 
توقيع : waget
:d: أصلاُ مافي فرق بين إستخدام rundos أو runwait مع cmd .. هي هي

كود:
#include <Process.au3>
_RunDOS ("del /f /q %temp%\*.*")

أخوي الله يرضى عليك هات الكود ألي ما إشتغل معك ..

:king:
السلام عليكم مرحبا أستاذ عبدالله
كود حذف ملفات temp لا يقوم في عمله تم تجريب على ويندوز سفن​

وهذه بعض الاكواد للأيضاح​

هذا كود يعمل بدون شوتشات يقوم في عمله​
PHP:
#include <Process.au3>
_RunDOS ("rd  %systemdrive% \ramay")
هذا كود مع شوتش لا يقوم في عمله​
PHP:
#include <Process.au3>
_RunDOS ("rd /s %systemdrive% \ramay")

هذا كود مع أضافات شوتش أضافي يعمل ويقوم في عمله تمام​
PHP:
#include <Process.au3>
_RunDOS ("rd /s /q %systemdrive% \ramay")

شو مشكلة مع بعض شوتشات الله أعلم ننتظر عبد الله للايضاح هذا​
 
توقيع : ramay
السلام عليكم مرحبا أستاذ عبدالله
كود حذف ملفات temp لا يقوم في عمله تم تجريب على ويندوز سفن​

وهذه بعض الاكواد للأيضاح​

هذا كود يعمل بدون شوتشات يقوم في عمله​
PHP:
#include <Process.au3>
_RunDOS ("rd  %systemdrive% \ramay")
هذا كود مع شوتش لا يقوم في عمله​
PHP:
#include <Process.au3>
_RunDOS ("rd /s %systemdrive% \ramay")
هذا كود مع أضافات شوتش أضافي يعمل ويقوم في عمله تمام​
PHP:
#include <Process.au3>
_RunDOS ("rd /s /q %systemdrive% \ramay")
شو مشكلة مع بعض شوتشات الله أعلم ننتظر عبد الله للايضاح هذا​

أولا أنا أعمل على Xp بالنسبة لفيستا و7 تحتاج تشغيله كمسؤول ..

ثانياً : الاكواد من ناحية الاتوات سليمة 100%

من ناحية الدوس هنا كلام ثاني ..

السويتش /s

هذا يظهر للمستخدم رسالة يختار y /n للحذف المجلد ومايحوية ..

فما ينفع تستخدم السويتش هذا مع الدالة rundos لسبب إن شاشة الدوس

لا تظهر هنا .. جرب هذا الكود..

هذا راح يشتغل ..
كود:
RunWait(@ComSpec &" /C "  &"rd /S %systemdrive%\ramay")
ويطلب منك إدخال y /n ..

وجرب هذا ...
كود:
RunWait(@ComSpec &" /C "  &"rd /S %systemdrive%\ramay","",@SW_HIDE)

هذا لن يعمل وهو مطابق لrundos

لن يعمل على حذف الملف إنما السيكريبت سوف يعمل ..

لكن تلاحظ السيكريبت معلق ليش..؟؟ لأن البرنامج ينتظر من المستخدم إدخال y/n

والشاشة مخفية فكيف يدخل << هذا مطابق لما يحدث فيrundos

/q هو السويتش مناسب لأنه يعمل على الصامت ..

:king:
 
توقيع : waget
تم تعديل مشاركة
PHP:
#include <Process.au3>
_RunDOS ("attrib -h -r -s /s /d f:\ramay\*.*")

PHP:
 RunWait(@ComSpec &" /c "  &"attrib -h -r -s /s /d f:\ramay\*.*")

PHP:
$0 = InputBox("", "ضع رقم 1 لتحويل" & @CRLF & " ntfs تحويل قرص الى نظام ملفات")
If $0 = 1 Then
$001 = RunWait(@ComSpec &" /C "  &"convert z:  /fs:ntfs /v")
If $001 <> 0 Then
MsgBox(0, "", " فشلت عملية ")
EndIf
EndIf

أستاذعبد الله هل ممكن تطوير مثل هذا كود
1- صندوق الاول لتحويل هل ممكن أضافة رمز الاقرص لتسهيل عملية​

يعني من قرص c
الى k
مثل​

وفي صندوق الثاني
تطوير لوضع أكثر لأوامر run​

مثل​

de3cd0915588c4cfe7531c55c550e18b.jpg
PHP:
$0 = InputBox("", "ضع رقم 1 لتحويل" & @CRLF & " ntfs تحويل قرص الى نظام ملفات"  & @CRLF & " 2- صندوق الاوامر run")
If $0 = 1 Then
$001 = RunWait(@ComSpec &" /C "  &"convert z:  /fs:ntfs /v")
If $001 <> 0 Then
MsgBox(0, "", " فشلت عملية ")
EndIf
  ;    runوهنا أيضا تطوير  كود لجميع الاوامر 
 
ElseIf $0 = 2  Then
$2 = InputBox("","run","")   
$2 = RunWait(@ComSpec &" /c " &$2 )   
if $2 <> 0 Then
 MsgBox(0,""," فشلت عملية")
EndIf
EndIf
 
توقيع : ramay
تم تعديل مشاركة
PHP:
#include <Process.au3>
_RunDOS ("attrib -h -r -s /s /d f:\ramay\*.*")
PHP:
 RunWait(@ComSpec &" /c "  &"attrib -h -r -s /s /d f:\ramay\*.*")
PHP:
$0 = InputBox("", "ضع رقم 1 لتحويل" & @CRLF & " ntfs تحويل قرص الى نظام ملفات")
If $0 = 1 Then
$001 = RunWait(@ComSpec &" /C "  &"convert z:  /fs:ntfs /v")
If $001 <> 0 Then
MsgBox(0, "", " فشلت عملية ")
EndIf
EndIf
أستاذعبد الله هل ممكن تطوير مثل هذا كود
1- صندوق الاول لتحويل هل ممكن أضافة رمز الاقرص لتسهيل عملية​

يعني من قرص c
الى k
مثل​

بالنسبه للجزيئة هذي الكود الثاني بالتحديد ..

يمكن إستخدام الماكرو :@HomeDrive

ليرجع بحرف قرص النظام ..

كود:
$0 = InputBox("", "ضع رقم 1 لتحويل" & @CRLF & " ntfs تحويل قرص الى نظام ملفات")
If $0 = 1 Then
    $001 = RunWait(@ComSpec &" /C "  &"convert " & @HomeDrive &" /fs:ntfs /v")
    If $001 <> 0 Then
        MsgBox(0, "", " فشلت عملية ")
    EndIf
EndIf

وفي صندوق الثاني
تطوير لوضع أكثر لأوامر run​

مثل​

de3cd0915588c4cfe7531c55c550e18b.jpg
PHP:
$0 = InputBox("", "ضع رقم 1 لتحويل" & @CRLF & " ntfs تحويل قرص الى نظام ملفات"  & @CRLF & " 2- صندوق الاوامر run")
If $0 = 1 Then
$001 = RunWait(@ComSpec &" /C "  &"convert z:  /fs:ntfs /v")
If $001 <> 0 Then
MsgBox(0, "", " فشلت عملية ")
EndIf
  ;    runوهنا أيضا تطوير  كود لجميع الاوامر 
 
ElseIf $0 = 2  Then
$2 = InputBox("","run","")   
$2 = RunWait(@ComSpec &" /c " &$2 )   
if $2 <> 0 Then
 MsgBox(0,""," فشلت عملية")
EndIf
EndIf


قصدك .. هل يمكن إستخدام الاكمال التلقائي .. ووضع أخر الاوامر ..

صراحه ماقد جربتها في الاتوات أعتقد هي تخص GUI :d:..

بالنسبة لفكره تحويل نظام الاقراص ..

يمكن تطويرها بأكثر من هذا..

يمكن صنع قائمة للقراص الموجودة ومعرفه نظامها ..

والتعديل علية .. بس بتحتاج دوال واومر ماوصلنا لها :d:
 
توقيع : waget
تشغيل السيكريبت كمسؤول و منع إيقاف السيكريبت..

أولاً : لتشغيل السيكريبت كمسؤول نستخدم الامرRequireAdmin

صيغته :

كود:
[COLOR=Magenta] #RequireAdmin[/COLOR]
:d::d:


ثانياُ : منع إيقاف السيكريبت ...

نلاحظ عند تشغيل السيكريبت تظهر لنا أيقونه بجنب الساعة ,,

5098707da0465e8f30cad6729c86095c.png


نلاحظ إمكانية إيقاف السيكريبت أو الخروج منه ..

وهذه أحيان قد تسبب مشكلة لعمل السيكريبت ..:d:

نبي نتخلص منها عندنا أكثر من حل ..

1) منع إيقاف السيكريبت مع ظهور الايقونة بجانب الساعه ...

نستخدم الدالة Break

الصيغة العامه .
كود:
[COLOR=Navy][I]Break [/I][/COLOR][COLOR=Red]([/COLOR] mode [COLOR=Red])[/COLOR]
mode : يحمل قيمتين ..

1: الافتراضي .يعني إمكانية إيقاف السيكريبت أو إغلاقة..

0: منع إيقاف السيكريبت ..

لمنع إيقاف السيكريبت ضع الدالة في رأس السيكريبت .. أول شيء .

لأن الاتوات تنفذ الاوامر سطر سطر فراح تمنع الايقاف عند تنفيذ الدالة هذي ..

طيب واحد يسأل ليش شرحنا الوضع الافتراضي 1 وهو أصلا موجود من البداية << يعني ماله فايدة نشرحه ..:eek:

نقول لا الان أنا في جزيئة من البرنامج أريد منع المستخدم من إيقاف السيكريبت ..

وبعد إنتهاء هذي الجزئية أريد السماح له ..فهنا نقدر نرجع للوضع الافتراض بإرسال 1 للدالة ..

مثال /

كود:
[COLOR=Navy][I]Break[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Indigo]0[/COLOR][COLOR=Red])[/COLOR]
[COLOR=Navy][I]MsgBox[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Indigo]0[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]"تم منع إيقاف السيكريبت"[/COLOR][COLOR=Red])[/COLOR]
Run[COLOR=Navy]Wait[/COLOR][COLOR=Red]([/COLOR][COLOR=Silver]"notepad.exe"[/COLOR][COLOR=Red])[/COLOR]
[COLOR=Navy][I]Break[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Indigo]1[/COLOR][COLOR=Red])[/COLOR]
[COLOR=Navy][I]MsgBox[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Indigo]0[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]"تم السماح بإيقاف السيكريبت"[/COLOR][COLOR=Red])[/COLOR]

RunWait [COLOR=Red]([/COLOR][COLOR=Silver]"notepad.exe"[/COLOR][COLOR=Red])[/COLOR]

[COLOR=Navy][I]MsgBox[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=DarkSlateBlue]0[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]"END"[/COLOR][COLOR=Red])[/COLOR]
جرب الكود هذا..

في البداية منعنا الايقاف

راح تشتغل المفكرة ويبقى السيكريبت ينتظر إغلاقها ليكمل ..

لاتغلق المفكرة وحاول الايقاف .. لن تستطيع ..

أغلق المفكرة .. راح يظهر مسج وتشتغل المفكرة مره أخرى..

وأوقف السيكريبت الان .. وأغلق المفكرة راح تلاحظ عدم ظهور الرسالة الاخيرة..

لأننا خرجنا من السيكريبت قبل أن ينفذها :d:




2) منع ظهور الايقونة بجانب الساعه ..

أ) إستخدام الامرNoTrayIcon

صيغته :

كود:
[COLOR=Magenta]#NoTrayIcon[/COLOR]
يوضع في أعلى السيكريبت
نستطيع إظهار الايقونة مره أخرى .. بإستخدام الدالة التالية..

ب) إستخدام الدالة Opt or AutoItSetOption

تستخدم لتعديل على خصائص السيكريبت

ويمكن إستخدامها في الكثير من الامور .. ومنها إخفاء الايقونه

لها صيغتين /
الاولى
كود:
[COLOR=Navy][I]AutoItSetOption[/I][/COLOR][COLOR=Red]([/COLOR] [COLOR=Silver]"option" [/COLOR][COLOR=Red][,[/COLOR] param[COLOR=Red]] )[/COLOR]
الثانية

كود:
[COLOR=Navy][I]opt[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Silver] "option"[/COLOR] [COLOR=Red][,[/COLOR] param[COLOR=Red]] )[/COLOR]
مافي فرق بينهم وألي غاوي تعب ويحب يكتب كثير يستخدم الاولى :hh:

option: الخيار أو الخاصية ألي تريد التعديل فيهل وهي كثيرة راح نستخد "TrayIconHide" لإخفاءالايقونه البقية قد نمر عليها فيما بعد أو يمكنك الرجوع للكتاب المساعد ..

param : هنا توضع القيم المراد تعديلها ..

في TrayIconHide

0: الوضع الافتراضي إضهار الايقونه

1: إخفاء الايقونه ..

شرحنا الوضع الافتراضي لنفس السبب في الدالة السابقة فقد تريد إخفاء الايقونه في مرحلة

وإضهارها في أخرى ويمكن بإستخدام هذي الدالة إضهار الايقونه إذا أخفيت بالامرNoTrayIcon


:d::d:

ملاحظة مهمه //


أولاً أنا إستخدمت عبارة أمر لRequireAdmin و NoTrayIcon فقط لتفرقه بينه وبين الدوال

العادية .. فكل شيء في الاتوات يعتبر دالة .. فلو قلت دالة فليس هنالك فرق..

بالنسبة للفرق بين إستخدام NoTrayIcon و opt

لو وضعت opt في أول السيكريبت بالتمام راح تلاحظ ضهور الايقونه بسرعه وإختفائها..

وهذا يعني أن المترجم وصل لسطر الدالة opt ونفذ ..

لكن أي أمر / دالة سبقة علامه الهاش # >> أو الشباك ..

هذي تعتبر كخيارت للمترجم تخبره كيف يترجم السيكريبت ...كيف ؟؟

سبق وأخذنا ..كتابة الملاحظ في الاتوات [
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
]

في #cs نخبر المترجم أن هذي ملاحظة تجاهلها ..

وأيضاً في #include هنا نخبر المترجم بتظمين ملف داخل السيكريبت

وأيضا هنا في
#RequireAdmin و #NoTrayIcon

في الاولى نخبر المترجم أن السيكربت ينفذ وله صلاحيات المسؤول

في الثانية نخبره أن هذا السيكريبت ليس له أيقونه ..ليس مثل الحاصل عند

إستخدام opt السيكريبت له أيقونه ولكن هي تخفيها..


:d::d::d:
 
توقيع : waget
بالنسبه للجزيئة هذي الكود الثاني بالتحديد ..

يمكن إستخدام الماكرو :@HomeDrive

ليرجع بحرف قرص النظام ..

كود:
$0 = InputBox("", "ضع رقم 1 لتحويل" & @CRLF & " ntfs تحويل قرص الى نظام ملفات")
If $0 = 1 Then
    $001 = RunWait(@ComSpec &" /C "  &"convert " & @HomeDrive &" /fs:ntfs /v")
    If $001 <> 0 Then
        MsgBox(0, "", " فشلت عملية ")
    EndIf
EndIf


قصدك .. هل يمكن إستخدام الاكمال التلقائي .. ووضع أخر الاوامر ..

صراحه ماقد جربتها في الاتوات أعتقد هي تخص GUI :d:..

بالنسبة لفكره تحويل نظام الاقراص ..

يمكن تطويرها بأكثر من هذا..

يمكن صنع قائمة للقراص الموجودة ومعرفه نظامها ..

والتعديل علية .. بس بتحتاج دوال واومر ماوصلنا لها :d:
يمكن إستخدام الماكرو :@HomeDrive

ليرجع بحرف قرص النظام ..

مشكور يا الغالي لكن أنا اردت في قرص z حتى لا أحد يجرب كود وييم تحويل
قصدك .. هل يمكن إستخدام الاكمال التلقائي .. ووضع أخر الاوامر ..
لا يا الغالي أردت فيه الاومر مكتوبه
 
توقيع : ramay
عاجبنى شرح الفرق بين الدوال التى تسبقها علامه الهاش والداله العاديه وكيفيه تعامل الكمبيلر معها

علامه الهاش بالنسبه للكمبيلر مثل التكليف المباشر
اما الداله العاديه يقوم الكبيلر بترجمه السطر كاملا الى لغه الأله

:d: مبروك ياحج على الابجريت
والله يعينك يخال :d:

 
توقيع : himoScript
لا يا الغالي أردت فيه الاومر مكتوبه

:d: هلا فيك ..

أولاً ترى في مشكلة بسيطة في الكود الاول ليش أخذت القيمه الراجعه لrunwait وحنا ما أخذنا

طريقة التعامل مع مثل هذي الدوال :d:...

بالنسبة للأوامر المكتوبة أنا فهمت قصدك بهذي الصوره :

كود:
$Text = "1- msconfig " &@CRLF
$Text &= "2- ipconfig"&@CRLF
$Text &= "3- gpedit"&@CRLF
$Text &= "4- regedit"
switch inputbox("Run",$Text)
    case ""
        exit
    case "1"
        Run(@WindowsDir & "\pchealth\helpctr\binaries\msconfig.exe")
    case "2"
        Run(@ComSpec &" /K " &"ipconfig")
    case "3"
        Run("mmc.exe gpedit.msc")
    case "4"
        Run("regedit.exe")
    case else
        MsgBox(0,"","not found")
EndSwitch

سيكون افضل من هذا لو أستخدمت فيه حلقة :d:
 
توقيع : waget
عاجبنى شرح الفرق بين الدوال التى تسبقها علامه الهاش والداله العاديه وكيفيه تعامل الكمبيلر معها

علامه الهاش بالنسبه للكمبيلر مثل التكليف المباشر
اما الداله العاديه يقوم الكبيلر بترجمه السطر كاملا الى لغه الأله

:d: مبروك ياحج على الابجريت
والله يعينك يخال :d:


ماشاء الله لخصت الفكرة في سطرين :hh:..

والله يبارك فيك .. أخوي .

واعاننا الله :smile:
 
توقيع : waget
:d: هلا فيك ..

أولاً ترى في مشكلة بسيطة في الكود الاول ليش أخذت القيمه الراجعه لrunwait وحنا ما أخذنا

طريقة التعامل مع مثل هذي الدوال :d:...

بالنسبة للأوامر المكتوبة أنا فهمت قصدك بهذي الصوره :

كود:
$Text = "1- msconfig " &@CRLF
$Text &= "2- ipconfig"&@CRLF
$Text &= "3- gpedit"&@CRLF
$Text &= "4- regedit"
switch inputbox("Run",$Text)
    case ""
        exit
    case "1"
        Run(@WindowsDir & "\pchealth\helpctr\binaries\msconfig.exe")
    case "2"
        Run(@ComSpec &" /K " &"ipconfig")
    case "3"
        Run("mmc.exe gpedit.msc")
    case "4"
        Run("regedit.exe")
    case else
        MsgBox(0,"","not found")
EndSwitch

سيكون افضل من هذا لو أستخدمت فيه حلقة :d:
بارك الله فيك ممكن أنا لم أستطع أيصال فكره
أريده مثل أمر run في ويندوز يعني له قائمة ولكن يكون مكتوب فيه الاوامر


يعني مستخدم لا يكتب شيئ ابدا
فقط يختار اسم عملية ويضغط موافق
وعذرنا على أطاله:king:
de3cd0915588c4cfe7531c55c550e18b.jpg
 
توقيع : ramay
طيب يا اغالي أيضا عدلة كودك في هذه طريقة لكن لم يعمل
طيب أنا أريد أن لم يجد هذا مسار فنظامه ليس الاكسبي
وينتقل لشرط بعده ويشغل الاداة


PHP:
$Text = "1- msconfig " &@CRLF
$Text &= "2- ipconfig"&@CRLF
$Text &= "3- gpedit"&@CRLF
$Text &= "4- regedit"
switch inputbox("Run",$Text)
    case ""
        exit
    case "1"
  Switch $1 = FileExists(@WindowsDir & "\pchealth\helpctr\binaries\msconfig.exe") Case
      $1 =  Run(@WindowsDir & "\pchealth\helpctr\binaries\msconfig.exe")
  Case Else
   run("msconfig.exe")
    case "2"
        Run(@ComSpec &" /K " &"ipconfig")
    case "3"
        Run("mmc.exe gpedit.msc")
    case "4"
        Run("regedit.exe")
    case else
        MsgBox(0,"","not found")
EndSwitch
 
توقيع : ramay
اخى رامى الكود لكه اخطاء كيف تضع اثنان switch فى أسوتش واحده :cr:
شاهد هذا السطر

PHP:
Switch $1 = FileExists(@WindowsDir & "\pchealth\helpctr\binaries\msconfig.exe") Case


والشئ الثانى
لمذا كررت Case Else مرتين داخل switch رئيسيه واحده

PHP:
Case Else
   run("msconfig.exe")
and
PHP:
case else
        MsgBox(0,"","not found")

ياريت تعيد تظبيط الكود

وانا وصلتنى فكرتك بتاعت الاوامر الخاصه ب run

رامى بيسأل

هل مربع النص ممكن يسجل مايكتبه المستخدم
فعند الوقوف بالفأره تظهر اخر ماكتبه المستخدم
مثل امر run الخاص بالويندوز ومحرك بحث جوجل
وغيره ....

 
توقيع : himoScript
الحالة
مغلق و غير مفتوح للمزيد من الردود.
عودة
أعلى