تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيفية تشغيل ملف باتش دون ظهور "نافذةالـ Consol "؟
#1
السلام عليكم

باستخدام ملف "باتش فايل" أقوم بتشغيل ملف تنفيذى( exe ) لفيجوال بيسك نت
ثم من خلال أوامر هذا الملف الـ Bat أقوم بحذف الملف ، وحذف الملف التنفيذى معاً

المطلوب معرفة الأمر الذى يمكن وضعه داخل الباتش فايل لعدم إظهار نافذة الـ CMD

وهذا هو محتوى الباتش فايل "Runme.bat" المستخدم
PHP كود :
@echo off
cd 
"C:\Ameen\School"
Test.exe
del  Test
.exe Runme.bat 
الرد }}}
تم الشكر بواسطة:
#2
(06-12-23, 06:09 PM)AmeenRashed كتب :
السلام عليكم

باستخدام ملف "باتش فايل" أقوم بتشغيل ملف تنفيذى( exe ) لفيجوال بيسك نت
ثم من خلال أوامر هذا الملف الـ Bat أقوم بحذف الملف ، وحذف الملف التنفيذى معاً

المطلوب معرفة الأمر الذى يمكن وضعه داخل الباتش فايل لعدم إظهار نافذة الـ CMD

وهذا هو محتوى الباتش فايل "Runme.bat" المستخدم
PHP كود :
@echo off
cd 
"C:\Ameen\School"
Test.exe
del  Test
.exe Runme.bat 

مرحبا بك الأخ Ameen

يمكنك من خلال برنامجك أن تكتب هذين الأمرين وهما يقومان بعمل المطلوب .
كود :
  Process.Start("C:\Ameen\School\Test.exe")
       My.Computer.FileSystem.DeleteFile("C:\Ameen\School\Test.exe")
الرد }}}
تم الشكر بواسطة: AmeenRashed
#3
شكراً أخى أبو خالد
كنت قد جربت ذلك من قبل ، ولم يلبى الطلب
توضيح أكتر :
البرنامج المطلوب تشغيله "هو نفسه"  المطلوب حذفه بعد التشغيل
لذلك سوف يتم تنفيذ السطر الأول ،
لكن لن يقوم بعملية الحذف ( السطر الثانى)
PHP كود :
Imports System.IO
Module Module1
    Sub Main
()
 
       Try
            Process
.Start("C:\Ameen\School\Test.exe")
 
           My.Computer.FileSystem.DeleteFile("C:\Ameen\School\Test.exe")
 
       Catch ex As Exception

        End 
Try
 
   End Sub
End Module 
الرد }}}
#4
أخى / 3sem
أشكرك على ردك
المحاولات كثيرة ، لكن طلبى بسيط لمن هو على معرفة بأوامر الباتش فايل
أريد أمر اضعه داخل الملف Runme.bat  يخفى ظهور الشاشة السوداء التى خلف رسالة التأكيد

الرد }}}
تم الشكر بواسطة:
#5
تمام .. لقد استخدمت هذا السويتش ( min/ ) من قبل
ولاحظت عمل شاشة الكونسول من خلالها تشغيل لحظى ،
لكن الأهم أن ذلك لم يحذف الملف Test.exe
بينما تم حذف الملف Runme.bat فقط
باختصار : الصيغة التى وضعتها "أنا" فى بداية الموضوع هى الأنسب
ولتظهر الشاشة السوداء كما تريد ومرحباً بها فى أى وقت

على هامش الموضوع : قرأت ملف PDF عن الملفات الدفعية
قد يفيد البعض ممن يريد ذلك " رغم ما به من أخطاء تقنية "
https://www.mediafire.com/file/6g7gvnzb5...9.pdf/file
الرد }}}
تم الشكر بواسطة:
#6
السلام عليكم ورحمة الله وبركاته

لحذف ملف ال Test.exe اكتب الكود التالي في ملف bat

PHP كود :
@ECHO OFF
 
:TRYAGAIN
 
ECHO DEL C:\Ameen\School\Test.exe
 RD C
:\Ameen\School\Test.exe
 CLS
 
IF EXIST C:\Ameen\School\Test.exe GOTO TRYAGAIN 

وإذا أردت أن يقوم ملف ال bat  بحذف نفسه بعد حذف ملف ال Test.exe اجعل الكود كما يلي

PHP كود :
@ECHO OFF
 
:TRYAGAIN
 
ECHO DEL C:\Ameen\School\Test.exe
 RD C
:\Ameen\School\Test.exe
 CLS
 
IF EXIST C:\Ameen\School\Test.exe GOTO TRYAGAIN
 CLS
 DEL 
%
الرد }}}
تم الشكر بواسطة: أبو خالد الشكري , AmeenRashed
#7
للأسف هذه الأوامر لا تحقق الطلب
ECHO Y | DEL C:\Ameen\School\Test.exe
RD C:\Ameen\School\Test.exe

فالسطر الأول يحذف الملف Test.exe والمطلوب تشغيله قبل الحذف
والسطر الثانى RD المفروض أنه خاص بحذف فولدر

الجديد فقط هو الأمر DEL %0
الرد }}}
تم الشكر بواسطة:
#8
وعليكم السلام ورحمة الله وبركاته

جرب تشغيل ملف الباش من خلال اضافة سكريبت اخر من نوع vbs سيفي بالغرض
طريقة عمل ملف ال vbs :
قم بفتح ملف تكست جديد و ضع فيه الاسطر التالية

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "tst.cmd" & Chr(34), 0
Set WshShell = Nothing

____________________________________
لا تنسى تغيير "tst.cmd" باسم ملف الباتش الخاص بك والامتداد ايضا .bat
او cmd مع الابقاء على النقاط كما هي   

ثم احفظ ملف التكست تحت امتداد .vbs

سينتج لك ملف دفعي جديد من نوع سكريبت vbs سيشغل لك ملف الباتش دون ظهور اي نافذه
ويمكنك ايضا حذف هذا الاخير (ملف ال vbs) باضافة امر الحذف في ملف الباتش لديك
ولا تنسى وضع ملف ال vbs مع ملف ال bat او  cmd
الرد }}}
تم الشكر بواسطة: AmeenRashed
#9
جميل جداً ... فعلاً تم الهدف .
أصبح الآن عندى ثلاث ملفات  Runme.bat ، Test.exe
والملف الذى أشرت به وليكن أسمه  start.vbs
وعند البدء بتشغيل start.vbs  سوف يقوم باستدعاء
Runme.bat
الذى يقوم بتشغيل Test.exe ثم حذف Test.exe  ثم حذف نفسه(  Runme.bat )
ويتبقى عندى الملف الأسكربت  start.vbs
ومن الأفضل أن يقوم بحذف نفسه ( Start.vbs ) أيضاً بعد القيام بمهمته
وإذا تحقق ذلك ،
أليس من الأفضل الإستغناء عن الملف Runme.bat  من خلال أوامر  VBS

الملف Start.vbs
PHP كود :
Set WshShell CreateObject("WScript.Shell")
WshShell.Run chr(34) & "Runme.bat" Chr(34), 0
Set WshShell 
Nothing 

الملف  Runme.bat
PHP كود :
@echo off
cd 
"C:\Ameen\School"
Test.exe
del  Test
.exe Runme.bat 
الرد }}}
تم الشكر بواسطة: asmarsou
#10
ادا اردت الاستغناء عن ملف الrunme.bat و الابقاء عن ملف ال start.vbs فسيكون هذا الاخير كما يلي
كود :
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "Test.exe" & Chr(34), 0
Const DeleteReadOnly = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("Test.exe"), DeleteReadOnly
objFSO.DeleteFile("Start.vbs.vbs"), DeleteReadOnly
Set WshShell = Nothing
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سبب عدم ظهور أدوات الديف اكسبرس مصمم هاوي 2 421 20-09-25, 05:30 PM
آخر رد: مصمم هاوي
  كيفية منع ظهور الأخطاء من إعدادات البيسيك mmaalmesry 2 848 29-08-25, 10:30 AM
آخر رد: mmaalmesry
  كيفية جلب أسماء الأعمدة بجدول من جداول sql heem1986 2 745 17-08-25, 09:15 PM
آخر رد: heem1986
  كيفية حفظ إعدادات البرنامج بحيث لا تتغير أحمد إبراهيم سعد 4 3,001 06-08-25, 06:34 PM
آخر رد: Taha Okla
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,221 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  [سؤال] منع الوصول أو تشغيل الريجيسترى dr.programming 4 398 12-06-25, 12:24 AM
آخر رد: أبو خالد الشكري
  [VB.NET] عدم ظهور فورم نهى على خليل 0 291 02-04-25, 02:59 PM
آخر رد: نهى على خليل
  [سؤال] تغيير الفورم الرئيسي عند تشغيل البرنامج في Visual Studio مع .NET 8؟ silverlord 2 650 09-03-25, 03:52 AM
آخر رد: silverlord
  [VB.NET] مشكل ظهور Query SQLITE في إظهار جميع التواريخ b4getws 3 516 28-02-25, 10:36 AM
آخر رد: b4getws
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 551 15-01-25, 02:02 PM
آخر رد: مصمم هاوي

التنقل السريع :


يقوم بقرائة الموضوع: