DOS APPEND, similar to the PATH command, allows you to specify directories where DOS should search for data files, not just executable files. This lets programs access data in various locations without needing full path specifications. It supports both drive letters and network paths, and offers options to search appended directories before the current directory or to treat appended directories as subdirectories of the current one. APPEND also provides commands to display the current appended directories and to remove them. This expands the functionality beyond the simple executable search of PATH, making data access more flexible.
Windows 95's setup process involved three distinct operating systems to ensure a smooth transition and maximize compatibility. It began booting from a DOS-based environment to provide basic hardware access and initiate the installation. Then, a minimal Windows 3.1-like environment took over, offering a familiar GUI for interacting with the setup program and allowing access to existing drivers. Finally, the actual Windows 95 operating system was installed and booted, completing the setup process and providing the user with the full Windows 95 experience. This multi-stage approach allowed the setup program to manage the complex transition from older systems while providing a user-friendly interface and maintaining compatibility with existing hardware and software.
Hacker News commenters discuss the complexities of Windows 95's setup process and the reasons behind its use of MS-DOS, a minimal DOS-based environment, and a pre-installation environment. Several commenters highlight the challenges of booting and managing hardware in the early 90s, necessitating the layered approach. Some discuss the memory limitations of the era, explaining the need to unload the DOS environment to free up resources for the graphical installer. Others point out the backward compatibility requirements with existing MS-DOS systems and applications as another driving factor. The fragility of the process is also mentioned, with one commenter recalling the frequency of setup failures. The discussion touches upon the evolution of operating system installation, contrasting the Windows 95 method with more modern approaches. A few commenters share personal anecdotes of their experiences with Windows 95 setup, recalling the excitement and challenges of the time.
Summary of Comments ( 56 )
https://news.ycombinator.com/item?id=42475011
Hacker News users discuss the DOS
APPEND
command, primarily focusing on its obscure nature and surprising functionality. Several commenters recall struggling withAPPEND
's unexpected behavior, particularly its ability to make files appear in directories where they don't physically exist. The discussion highlights the command's similarity to environment variables likePATH
andLD_LIBRARY_PATH
, with one user pointing out that it effectively extends the file search path for specific programs. Some comments mention the utility ofAPPEND
for accessing data files across drives or directories without hardcoding paths, while others express their preference for more modern solutions. The overall sentiment suggestsAPPEND
was a powerful but complex tool, often misunderstood and potentially problematic.The Hacker News post titled "DOS APPEND" with the link https://www.os2museum.com/wp/dos-append/ has several comments discussing the utility of the
APPEND
command in DOS and OS/2, as well as its quirks and comparisons to other operating systems.One commenter recalls using
APPEND
frequently and finding it incredibly useful, particularly for accessing data files located in different directories without having to constantly change directories or use full paths. They highlight the convenience it offered in a time before sophisticated development environments and integrated development environments (IDEs).Another commenter draws a parallel between
APPEND
and the modern concept of environment variables like$PATH
in Unix-like systems, which serve a similar purpose of specifying locations where the system should search for executables. They also touch on howAPPEND
differed slightly in OS/2, specifically regarding the handling of data files versus executables.Further discussion revolves around the intricacies of
APPEND
's behavior. One comment explains howAPPEND
didn't just search the appended directories but actually made them appear as if they were part of the current directory, creating a virtualized directory structure. This led to some confusion and unexpected behavior in certain situations, especially with programs that relied on obtaining the current working directory.One user recounts experiences with the complexities of managing multiple directories and files in early versions of Turbo Pascal, illustrating the context where a tool like
APPEND
would have been valuable. This comment also highlights the limited tooling available at the time, emphasizing the appeal of features likeAPPEND
for streamlining development workflows.Someone points out the potential for conflicts and unexpected results when using
APPEND
with programs that create files in the current directory. They suggest thatAPPEND
's behavior could lead to files being inadvertently created in a directory different from the intended one, depending on how the program handled relative paths.The security implications of
APPEND
are also addressed, with a comment mentioning the risks associated with accidentally executing programs from untrusted directories added to theAPPEND
path. This highlights the potential security vulnerabilities that could arise from misuse or improper configuration of the command.Finally, there's a mention of a similar feature called
apppath
in the REXX language, further illustrating the cross-platform desire for this kind of directory management functionality.Overall, the comments paint a picture of
APPEND
as a powerful but somewhat quirky tool that provided a valuable solution to directory management challenges in the DOS/OS/2 era, while also introducing potential pitfalls that required careful consideration. The discussion showcases howAPPEND
reflected the computing landscape of the time and how its functionality foreshadowed concepts that are commonplace in modern operating systems.