94.9k views
5 votes
Create a batch file named hide.bat. The batch file must use the attrib command to hide files. The file name(s) of the file(s) to be hidden must be passed to the batch file by the user at the time the batch file is executed (parameters)

• The batch file must be able to handle multiple parameters entered by the user. In other words, it should allow the user to enter more than one file name. (i.e, Hide File1.txt file2.txt file3.txt)

• You must use the SHIFT command and looping

• You must include the logic that will allow the loop to end on its own when there are no parameters left to process

• You must include the logic that will display an error message if the user attempts to run the batch file without entering a parameter

• Messages must be appropriately formatted.

• Before hiding the file the batch file should confirm that it exists. If the file doesn’t exist, the attrib command shouldn’t be executed.

• Two logs should be kept a hidden.log file and an error.log file. Each time a file is successfully hidden, a message should be stored in the hidden.log file. The message must identify the file name (including its absolute path) of the file that was successfully hidden. Each time a file is not successfully hidden (because it didn’t exist), a message should be stored in the error.log file. The message must identify the file name of the file that didn’t exist.

• If either of the log files exist from a previous execution, they should be deleted before processing the parameters. No messages should be displayed in regards to the deletion.

• At the completion of the batch file, the content of each log file must be displayed on the screen with an appropriate heading; i.e., The following files were hidden; The following files were not hidden because they didn’t exist. NO output should be displayed on the screen while the batch file is running – all output should be sent to the log files and each log file’s contents must be displayed when the batch file ends. The log files should only be displayed if they exist.

• After displaying the log files, they should NOT be deleted.

• Before displaying each of the log files, make sure it exists; if it doesn’t exist, don’t display it.

• If the user enters /? As a parameter, information help for the command should be presented. An explanation of the purpose of the batch file as well as the command’s syntax must be included in the output. The message must look professional.

User Milanka
by
7.6k points

1 Answer

5 votes

Final answer:

The student needs to create a hide.bat batch file to hide files using attrib command, handle multiple file names as parameters, confirm file existence, log actions, and display log content at the end of execution without deleting the logs.

Step-by-step explanation:

The student is asking how to create a batch file named hide.bat which uses the attrib command to hide files.

The batch file must accept multiple file names as parameters and hide these files, confirming their existence before proceeding.

It should also handle cases when no parameters are provided, using a loop with the SHIFT command to process the filenames.

Error and success logs need to be created for files that don't exist or are successfully hidden respectively. After files are processed, the logs should be displayed if they have content, but should not be deleted.

The batch file also needs a help command that provides information on how to use the script when /? is passed as a parameter.



Error Handling and Logging

Displaying Log Files



User Michael Mikowski
by
7.3k points