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