Solution 2 - Sharing via IP address
If you really do need two routers, you're going to have to live with limitations on File and Printer sharing and Network Browsing. As mentioned previously, computers attached to each router will be able to browse and file and printer share with other clients attached to the same router. But only computers attached to the second router will be able to exchange files with computers attached to the first router, and the clients attached to the second router must initiate the file transfers.
If you can live with this limitation, here's how to access a remote shared folder or drive:
1) Assign a static IP address to the computers that you want to have access to. This is important since you'll be accessing them by IP address, not name, and if the remote computer(s) lease a different IP address at DHCP renewal time, you'll have to track down and use their new address.
NOTE! Make sure you use static IP addresses outside the range of the router's DHCP server. For our example setup, the first router has a DHCP server range of 192.168.1.100 to 192.168.1.150. So be sure to assign static IPs from 192.168.1.151 to 192.168.1.254.
2) Open up a Run window (Start > Run) and type in followed by the IP address of the computer that you want to access. (I'm assuming that you've already shared the desired drive or folder on that computer). Figure 3 shows how it's done for a computer with IP address 192.168.1.102.
Figure 3: Accessing a remote computer
After a short wait, a window should open containing the shared drives and folders of the remote computer. Figure 4 shows the shared items on the computer I reached at 192.168.3.154.
Figure 4: Shared items on 192.168.3.154
TIP: You can also use Windows' Find Computer function. Just omit the leading "" and type in only the IP address of the machine you're looking for.
3) To avoid having to go through all these hoops the next time you want to access a remote shared file, just right-click on any of the items shown in the window opened in Step 2, choose Create Shortcut or Map Network Drive. (If you're using WinXP, you can find Map Network Drive in My Computer > Tools). Then all you'll need to do the next time you want to access the shared item is to double click on the shortcut or open the drive in My Computer.
It's also possible to use computer names instead of IP addresses to find remote computers by editing the LMHOSTS file on specific computers. But since this doesn't get network browsing working and can be difficult to maintain, I don't recommend you mess with this.
TIP: If you want to know more about creating an LMHOSTS file, see the Microsoft article Windows NT Workstation Resource Kit - Using LMHOSTS Files
Going the other way
My earlier statement that clients connected to the first router won't be able to access any clients attached to the second router for file and printer sharing actually isn't entirely true. By using the second router's DMZ (or exposed computer) function you can actually share in this direction, but for only one second router client at a time.
All you need to do is put the IP address of the computer you want to share in DMZ, then use the WAN IP address of the router when you go to access the computer. You don't have to worry about weakening security for the computer that you put in DMZ, since it's already protected by the first router's firewall. But if you're really paranoid, you can open just TCP and UDP ports 137, 138, and 139 to the IP address of the computer that you want to access instead of putting it in DMZ.