Not sure what you're trying to do ... In XP, you can add a > operator with a file name to create a new file containing the results of the DIR command, or overwrite an existing file with that name.
I assume that "findstr" should be the first parameter of the DIR command, and not a separate parameter:
DIR *.* /s > C:\1.txt
You probably need to concatenate the flexible part of the string into a string variable, then use the string variable as a parameter for xp_cmdshell.
Finally, note that if you do not supply the drive letter for the results file, it will be created in the current directory in use by the xp_cmdshell process.