Creating a C executable to run a installer - c

I'm looking to do a mass update on a large number of computers and would like to create a simple script that i can just click and run to complete the work much quicker.
I've never tackled anything like this before so im not really sure where to start.
The goal of the script is to take the files which i will be moving from a drive to each laptop, open cmd.exe execute a command and then run the installer that is generated from it. Any advice or pointers on where i can start would be greatly appreciated.

I can't comment yet so --
As other users have mentioned powershell would be a better alternative to C. Or you could use a batch file.
#echo off
XCOPY <source path> <destination path> /f /-y
start <your program.exe>
When copying it would display the locations it's copying to and from(/f), as well as as for confirmation for overwrites(/-y).
More switches can be seen here for the copy command.

Related

Delete file from C:\Windows folder

I'm working with an application that was poorly designed. When installed, it creates a .INI file (remember those?) in the C:\Windows folder. In order to get things working correctly in our environment, I don't use that .INI file. Instead, I have separate .INI files in a different location where I can properly management them within the framework of the application. The problem I'm running in to is users not running the application correctly so it picks up this default .INI file that doesn't work in our environment (remember I said the application is poorly designed).
To make sure that my users are running the correct configuration, I need to delete this pesky .INI from the C:\Windows folder. I have .BAT files that manage application launch and updates so I tried to just issue a delete in the .BAT file but it isn't working. When I try to run just the delete command in a command window, I get "Access Denied". I can't rename it or move it either. I would just go touch each computer but don't have the time to get to them all.
I have just spent the last two hours googling to find a solution and the only solutions are to use Windows Explorer which isn't an option. I know it has to be something simple that I haven't been able to find. Ideas?
for /f "usebackq delims=" %A in ("%userprofile%\Desktop\ComputerName.txt") do echo Del \\%A\C$\Windows\file.ini
Computername.txt is one computer per line, names or addresses.
127.0.0.1

Batch File Copy With Undefined Destination

So I have been searching around for the answer here and am not able to find it. I'm not by any means well-versed with coding these sorts of things so excuse my noobishness.
So I am trying to create a simple batch file for deployment with a backup device for the end user to double-click and copy their profile folder to the backup media.
I am not certain if xcopy or robocopy is the best solution for this, but coming from server administration I am more familiar with robocopy. The copy utility I'm using isn't necessarily the problem, however.
What I have:
robocopy D:\%USERPROFILE% <destination> /e /copyall
While the source resolves to the user profile without issue, I have not been able to derive a variable for the destination that could account for the possibility of different from letters, which I don't think is possible. Is there a variable that sets the destination as the location from where the batch file is launched?
Thank you for the help!
Is there a variable that sets the destination as the location from
where the batch file is launched?
yes, there is:
echo %~dp0
this gives you Drive and Path of your batchfile. For more ~.modifiers see call /?

Windows CE7 | Move and replace directory from the command prompt

I'm trying to write a batch file that should copy a directory from a USB stick and place it in another folder on the hard disk (if the folder already exists, the new one should replace it).
Currently I'm trying something like this:
COPY "\Hard Disk2\sourceFolder" "\Hard Disk\targetFolder"
which doesn't copy any the "sourceFolder" or any subfolders.
I want to move everything (including folders) from my sourceFolder to my targetFolder.
Anyone knows how to do this?
For a list of available commands in Windows CE 7, please see this picture.
More information about the commands: https://msdn.microsoft.com/en-us/library/ee505427(v=winembedded.60).aspx
Note:
I don't think XCOPY or ROBOCOPY works in CE. I've tried both, but I just get the following error:
"Cannot execute ROBOCOPY.exe / XCOPY.exe".
The Command prompt for Windows Embedded Compact 7 is very limited and is not intend to be used on a final product, but as a tool for the firmware development and tuning. So the option that you are looking is not available and therefore, you will probably have to develop your own version of the XCopy command.

How to Create a Simple Batch file for Application Uninstall via CMD?

I am inquiring assistance on creating a simple batch file in order to help field techs at my job remove the Microsoft Exchange Management Console via CMD batch. But for some reason i have been unsuccessful at being to accomplish this.
To my understanding its a matter of changing directories and running a uninstaller.
If i do it manually Run CMD as Admin and copy and paste
cd %ProgramFiles%\Microsoft\Exchange Server\v14\bin\setup.com /m:uninstall
This works flawlessly however when trying to compose it into a batch no go.
#echo off
cd D/ c:\
%ProgramFiles%\Microsoft\Exchange Server\v14\bin\setup.com /m:uninstall
And in theory i am assuming this should do it simple and so i thought but i can not get this thing going. I know i am missing something.
Can someone shed some light on the subject i would be most appreciated.
Thank You.
CD is the command to 'Change Directory'. Try this line to perform the uninstall.
"%ProgramFiles%\Microsoft\Exchange Server\v14\bin\setup.com" /m:uninstall
You need the quotes to handle the spaces in that path. And it is good practice. For future posts remember that it is helpful if you indicate what error or result you are getting.

Start batch after restart

I'm trying to make a batch start after a restart. Will this work?
This doupdate.bat is stored at a USB drive and is going to be used in many computers.
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /V 1 /D "%~d0\cmd\DoUpdate.bat
So you want it start on startup? Since you cant use Autorun.inf since that needs to be manually clicked to start it up and ever since Win7 it doesnt allow you to change what file it opens on USB, it sounds like your only option is the startup folder. You could write a second batch script to copy the file into the computers startup folder. Here is the code to copy the file into the startup folder as a bat:
C:
copy doupdate.bat "C:\Users\%USERNMAE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\doupdate.bat"
(Note: Thats assuming the bat to move the file is on the USB, and also replace the 'C:' in the code with whatever drive it will be moving to, you cant simply have it move directly to the C drive or CD to it, you have the enter the name since interacting between different drives on batch it tricky, so you have to cd to them a special way first)
But that would only have the file auto-open on restart only on the user that you were currently using when you ran the file.
Also that method requires you to have the file installed to the users computer.
And if you dont want the file to stay on the users computer after its already done its job, simply add this code at the end of "doupdate.bat" for it to delete itself:
del "C:\Users\%USERNMAE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\doupdate.bat"
its as simple as that, that way when it gets run from the Startup folder, as soon as its done with all of its purpose, it will remove itself, and then to re-add it, simply re-run the bat to move the file.
I hope my info helped, and if any of the methods here wont work for your specific bat file just tell me and ill try to find a different method to do it and will edit this post to include that method.
This should work:
copy "doupdate.bat" "%appdata%\Microsoft\Windows\Start Menu\Programs\Startup"
Note: Make sure to use this in Windows 10. I am not sure if this will work in Windows 8, 7 but it should also work

Resources