1. #!/usr/bin/env node
  2. const { program } = require('commander');
  3. program
  4. .option('-f, --file <filename>', 'Specify input file')
  5. .option('-o, --output <filename>', 'Specify output file')
  6. .option('-v, --verbose', 'Enable verbose output');
  7. program.parse(process.argv);
  8. const options = program.opts();
  9. function processOptions() {
  10. try {
  11. // Fallback: Use default values if options are not provided
  12. const inputFile = options.file || 'default_input.txt';
  13. const outputFile = options.output || 'default_output.txt';
  14. const verbose = options.verbose || false;
  15. console.log(`Processing file: ${inputFile}, Outputting to: ${outputFile}`);
  16. if (verbose) {
  17. console.log("Verbose mode enabled");
  18. }
  19. // Your main script logic here
  20. console.log("Running the script...");
  21. } catch (error) {
  22. // Handle errors during option processing
  23. console.error("Error processing command-line options:", error.message);
  24. console.log("Using default values as fallback.");
  25. // Fallback: Use default values if an error occurs
  26. const inputFile = 'default_input.txt';
  27. const outputFile = 'default_output.txt';
  28. const verbose = false;
  29. console.log(`Processing file: ${inputFile}, Outputting to: ${outputFile}`);
  30. if (verbose) {
  31. console.log("Verbose mode enabled");
  32. }
  33. // Your main script logic here
  34. console.log("Running the script with fallback values...");
  35. }
  36. }
  37. processOptions();

Add your comment