env_print

// Environmentクラスのメソッドは、全てstaticメソッド


cat env_print.cpp
// env_print.cpp
//
#using <mscorlib.dll>
#using <System.dll>

using namespace System;
using namespace System::IO;
int main(array<System::String ^> ^args){
	Console::WriteLine("NetBIOS Name      :" + Environment::MachineName);
	Console::WriteLine("OS Version        :" + Environment::OSVersion);
	Console::WriteLine("OS VersionString  :" + Environment::OSVersion->VersionString);
	Console::WriteLine("System Directory  :" + Environment::SystemDirectory);
	Console::WriteLine("Current Directory :" + Environment::CurrentDirectory);
	Console::WriteLine("CLR Version       :" + Environment::Version);
	Console::WriteLine("HasShutdownStarted:" + Environment::HasShutdownStarted);
	Console::WriteLine("New Line          :" + Environment::NewLine);
	Console::WriteLine("==================:");
	Console::WriteLine("StackTrace        :" + Environment::StackTrace);
	Console::WriteLine("==================:");
	Console::WriteLine("GetEnvironmentVariable(\"path\"):" + Environment::GetEnvironmentVariable("path"));
	Console::WriteLine("ExpandEnvironmentVariables:");
	Console::WriteLine("                  %windor%:" + Environment::ExpandEnvironmentVariables("%windir%"));
	Console::WriteLine("                    %path%:" + Environment::ExpandEnvironmentVariables("%path%"));
	Console::WriteLine("                    %home%:" + Environment::ExpandEnvironmentVariables("%home%"));
	Console::WriteLine("%windir%;;;;;;;;;%path%;;;%home%" + Environment::ExpandEnvironmentVariables("%windir%;;;;;;;;;%path%;;;%home%"));

	Console::WriteLine("================== test setenv");
	// set 
	Console::WriteLine("ENV_TEST=" + Environment::GetEnvironmentVariable("ENV_TEST"));
	Environment::SetEnvironmentVariable("ENV_TEST", "brabra");
	Console::WriteLine("ENV_TEST=" + Environment::GetEnvironmentVariable("ENV_TEST"));
	Environment::SetEnvironmentVariable("ENV_TEST", "BRABRA");
	Console::WriteLine("ENV_TEST=" + Environment::GetEnvironmentVariable("ENV_TEST"));
	Environment::SetEnvironmentVariable("ENV_TEST", String::Empty);
	Console::WriteLine("ENV_TEST=" + Environment::GetEnvironmentVariable("ENV_TEST"));

	Console::WriteLine("================== test SpecialFolder");
	Console::WriteLine("MyDocuments          :" + Environment::GetFolderPath(Environment::SpecialFolder::MyDocuments));
	Console::WriteLine("Programs             :" + Environment::GetFolderPath(Environment::SpecialFolder::Programs));
	Console::WriteLine("ProgramFiles         :" + Environment::GetFolderPath(Environment::SpecialFolder::ProgramFiles));
	Console::WriteLine("DesktopDirectory     :" + Environment::GetFolderPath(Environment::SpecialFolder::DesktopDirectory));
	Console::WriteLine("ApplicationData      :" + Environment::GetFolderPath(Environment::SpecialFolder::ApplicationData));
	Console::WriteLine("CommonApplicationData:" + Environment::GetFolderPath(Environment::SpecialFolder::CommonApplicationData));

	Console::WriteLine("================== GetLogicalDrives");
	try {
		array<String^>^drives = System::IO::Directory::GetLogicalDrives();
		for ( int i = 0; i < drives->Length; i++ )
		{
			System::Console::WriteLine( drives[ i ] );

		}
	}
	catch ( System::IO::IOException^ ) 
	{
		System::Console::WriteLine(  "An I/O error occurs." );
	}
	catch ( System::Security::SecurityException^ ) 
	{
		System::Console::WriteLine(  "The caller does not have the Server's required permission." );
	}
	// ls
	Console::WriteLine("================== GetFileSystemEntries(path)");
	try {
		// Obtain the file system entries in the directory path.
		array<String^>^directoryEntries = System::IO::Directory::GetFileSystemEntries( "." );
		for ( int i = 0; i < directoryEntries->Length; i++ ) {
			System::Console::WriteLine( directoryEntries[ i ] );

		}
	}
	catch ( ArgumentNullException^ ) {
		System::Console::WriteLine(  "Path is a null reference." );
	}
	catch ( System::Security::SecurityException^ ) {
		System::Console::WriteLine(  "The caller does not have the Server's required permission." );
	}
	catch ( ArgumentException^ ) { System::Console::WriteLine(  "Path is an empty String, HelloServer's contains only white spaces, Server's or contains invalid characters." );
	}
	catch ( System::IO::DirectoryNotFoundException^ ) {
		System::Console::WriteLine(  "The path encapsulated in the Server's Directory object does not exist." );
	}
	// ls
	Console::WriteLine("================== GetFileSystemEntries(path,pattern)");
	try {
		// Obtain the file system entries in the directory path that match the pattern.
		array<String^>^directoryEntries = System::IO::Directory::GetFileSystemEntries( ".","*.cpp" );  // pattern can use ? or *
		for ( int i = 0; i < directoryEntries->Length; i++ ) {
			System::Console::WriteLine( directoryEntries[ i ] );

		}
	}
	catch ( ArgumentNullException^ ) {
		System::Console::WriteLine(  "Path is a null reference." );
	}
	catch ( System::Security::SecurityException^ ) {
		System::Console::WriteLine(  "The caller does not have the Server's required permission." );
	}
	catch ( ArgumentException^ ) { System::Console::WriteLine(  "Path is an empty String, HelloServer's contains only white spaces, Server's or contains invalid characters." );
	}
	catch ( System::IO::DirectoryNotFoundException^ ) {
		System::Console::WriteLine(  "The path encapsulated in the Server's Directory object does not exist." );
	}

	// cd .. ; pwd 
	Console::WriteLine("================== GetParent(path)");
	try
	{
		System::IO::DirectoryInfo^ directoryInfo = System::IO::Directory::GetParent( "." );
		System::Console::WriteLine( directoryInfo->FullName );
	}
	catch ( ArgumentNullException^ ) {
		System::Console::WriteLine(  "Path is a null reference." );
	}
	catch ( ArgumentException^ ) {
		System::Console::WriteLine(  "Path is an empty String, HelloServer's contains only white spaces, or HelloServer's contains invalid characters." );
	}


}




cat makefile
TARGET=env_print
OBJS=$(TARGET).obj 
HEADERS=
.PHONY: all test mmm clean
.SUFFIXES: .obj .exe

all: $(TARGET).exe


$(TARGET).obj: $(TARGET).cpp $(HEADERS)

$(TARGET).exe: $(OBJS)
	link $^

.cpp.obj:
	cl -Wall -Od -clr -c $<

test: $(TARGET).exe
	./$(TARGET).exe -

clean:
	@-rm $(TARGET).exe *.obj *~ $(TARGET).exe.manifest 1>/dev/null 2>&1
	@-rm -r $(TESTDIR) 1>/dev/null 2>&1

mmm: 
	cat $(TARGET).cpp
	@echo 
	cat makefile
	
html:
	cat /dev/clipboard | code2html.exe | unix2dos