|
Answer» So I was messing around with doskey, and came up with the idea of making a macro that would open the /? text in notepad, as it is often to long to read on cmd.exe. The problem I've run into is that it doesn't seem to like redirecting the output. Here's what I have so far.
Code: [Select]doskey note=$* 1>tmp.txt 2>&1 $T notepad tmp.txt
output: (cmd) Code: [Select] C:\Users\Lemonilla>note help For more information on a specific command, type HELP command-name ASSOC Displays or modifies file extension associations. ATTRIB Displays or changes file attributes. BREAK Sets or clears extended CTRL+C checking. BCDEDIT Sets properties in boot database to control boot loading. CACLS Displays or modifies ACCESS control lists (ACLs) of files. CALL Calls one batch program from another. CD Displays the name of or changes the current directory. CHCP Displays or sets the active code page number. CHDIR Displays the name of or changes the current directory. CHKDSK Checks a disk and displays a status report. CHKNTFS Displays or modifies the checking of disk at boot time. CLS Clears the screen. CMD Starts a new instance of the Windows command interpreter. COLOR Sets the default console foreground and background colors. COMP Compares the contents of two files or sets of files. COMPACT Displays or alters the compression of files on NTFS partitions. CONVERT Converts FAT volumes to NTFS. You cannot convert the current drive. COPY Copies one or more files to another location. DATE Displays or sets the date. DEL Deletes one or more files. DIR Displays a list of files and subdirectories in a directory. DISKCOMP Compares the contents of two floppy disks. DISKCOPY Copies the contents of one floppy disk to another. DISKPART Displays or configures Disk Partition properties. DOSKEY Edits command lines, RECALLS Windows commands, and creates macros. DRIVERQUERY Displays current device driver status and properties. ECHO Displays messages, or turns command echoing on or off. ENDLOCAL Ends localization of environment changes in a batch file. ERASE Deletes one or more files. EXIT Quits the CMD.EXE program (command interpreter). FC Compares two files or sets of files, and displays the differences between them. FIND Searches for a text string in a file or files. FINDSTR Searches for strings in files. FOR Runs a specified command for each file in a set of files. FORMAT Formats a disk for use with Windows. FSUTIL Displays or configures the file system properties. FTYPE Displays or modifies file types used in file extension associations. GOTO Directs the Windows command interpreter to a labeled line in a batch program. GPRESULT Displays Group Policy information for machine or user. GRAFTABL Enables Windows to display an extended character set in graphics mode. HELP Provides Help information for Windows commands. ICACLS Display, modify, backup, or restore ACLs for files and directories. IF Performs conditional processing in batch programs. LABEL Creates, changes, or deletes the volume label of a disk. MD Creates a directory. MKDIR Creates a directory. MKLINK Creates Symbolic Links and Hard Links MODE Configures a system device. MORE Displays output one screen at a time. MOVE Moves one or more files from one directory to another directory. OPENFILES Displays files opened by remote users for a file share. PATH Displays or sets a search path for executable files. PAUSE Suspends processing of a batch file and displays a message. POPD Restores the previous value of the current directory saved by PUSHD. PRINT Prints a text file. PROMPT Changes the Windows command prompt. PUSHD Saves the current directory then changes it. RD Removes a directory. RECOVER Recovers readable information from a bad or defective disk. REM Records comments (remarks) in batch files or CONFIG.SYS. REN Renames a file or files. RENAME Renames a file or files. REPLACE Replaces files. RMDIR Removes a directory. ROBOCOPY Advanced utility to copy files and directory trees SET Displays, sets, or removes Windows environment variables. SETLOCAL Begins localization of environment changes in a batch file. SC Displays or configures services (background processes). SCHTASKS Schedules commands and programs to run on a computer. SHIFT Shifts the position of replaceable parameters in batch files. SHUTDOWN Allows proper local or remote shutdown of machine. SORT Sorts input. START Starts a separate window to run a specified program or command. SUBST Associates a path with a drive letter. SYSTEMINFO Displays machine specific properties and configuration. TASKLIST Displays all currently running tasks including services. TASKKILL Kill or stop a running process or application. TIME Displays or sets the system time. TITLE Sets the window title for a CMD.EXE session. TREE Graphically displays the directory structure of a drive or path. TYPE Displays the contents of a text file. VER Displays the Windows version. VERIFY Tells Windows whether to verify that your files are written correctly to a disk. VOL Displays a disk volume label and serial number. XCOPY Copies files and directory trees. WMIC Displays WMI information inside interactive command shell.
For more information on tools see the command-line reference in the online help.
C:\Users\Lemonilla>
output: (notepad) Code: [Select]
So from what I understand it is not performing 1>tmp.txt 2>&1 and allowing notepad to create tmp.txt. Any assistance would be great.You can adjust the pages and buffers in CMD.EXE properties which will allow you to scroll up and down in the history and read all the help.
Or use this batch file: call it H.BAT and launch it like this
H IF H MORE H CMD H DIR
@echo off %1 /? >"%temp%\helptext.tmp.txt" start "" notepad "%temp%\helptext.tmp.txt"
It's untested.Lemonilla, Can you try the top down method? Tell in plain English what you want to do without using symbols or code. Then somebody can show you possible code samples s using available Windows tools suitable to the job. Note Pad is not well suited for command line tasks. Instead, Windows has some advanced command line features that are way BEYOND DOS. It is called Power Shell. Presently Power Shell is what Microsoft recommends for command line operations with extended usability. DONKEY is not a part of it. Here is a video about Power Shell. http://www.youtube.com/watch?v=qv0ZpVfKiRs
This was mainly for CONVENIENCE sake. I find it difficult to read the help menus on the small cmd window, especially with the font it uses. It is also very useful to have the menu as a different window, so you can refer back to it when you are typing without scrolling.
In plain English: I wish to create a way to open the help menu of any command (from any directory) in a separate notepad window.I decided to mess around with doskey as well and I noticed that when you type
Code: [Select]doskey note=$* 1>tmp.txt into command prompt it created the txt file, making it so when it runs note the txt file is not being created.
One solution to this problem would be to do this...
Code: [Select]doskey note=$*^>tmp.txt $T start tmp.txt that way the txt file wont be created until the note command is called. this is tested and works for me.
The reason the ^ is needed is because it is considered to be a escape character which allows you to type characters that would usually do something in the program.
This page may explain it better then I can http://ss64.com/nt/syntax-esc.html
so using escape character logic, you could also do this...
Code: [Select]doskey note=$*^>tmp.txt ^& start tmp.txt and it will have the same effect. Thanks hibyy! I could have sworn that didn't work last time i tried, but I think I put the ^ in the wrong place
To have it automatically delete the tmp.txt file, you have to add a delay in Code: [Select]doskey note=$* /? ^>tmp.txt $T start tmp.txt $T ping localhost -n 3 ^>nul $T del tmp.txt
The length of the delay seems to be important, depending on the length of the file being written. 3 seems to be best, but I haven't checked every command.
This removes the annoying pathways that appear, making it look neater. Although you notice the delay more. Code: [Select]doskey [emailprotected] off $T $* /? ^>tmp.txt $T start tmp.txt $T ping localhost -n 3 ^>nul $T del tmp.txt $T echo on
|