I'm assuming you're on Windows. Perhaps you don't have a "C:\temp"? (Be careful to either use "C:/temp" note the use of double quotes and the forward slash or to use 'C:\temp' single quote and backslash. If you double quote and backslash you'll have to escape the backslash i.e. "c:\\temp".
Also: add a my to the $dir as in
in reply to Re^2: writing the finding result into a file.txt
in thread writing the finding result into a file.txt