wip
This commit is contained in:
		
							
								
								
									
										82
									
								
								examples/scripts/basics/directories.rhai
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								examples/scripts/basics/directories.rhai
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
 | 
			
		||||
// Create a test directory structure
 | 
			
		||||
let base_dir = "rhai_dir_test";
 | 
			
		||||
let sub_dir = base_dir + "/tmp/test";
 | 
			
		||||
 | 
			
		||||
println("Creating directory structure...");
 | 
			
		||||
let base_result = mkdir(base_dir+"/subdir");
 | 
			
		||||
println(`Base directory creation result: ${base_result}`);
 | 
			
		||||
 | 
			
		||||
let sub_result = mkdir(sub_dir);
 | 
			
		||||
println(`Subdirectory creation result: ${sub_result}`);
 | 
			
		||||
 | 
			
		||||
// Create a test file in the base directory
 | 
			
		||||
let base_file = base_dir + "/base_file.txt";
 | 
			
		||||
let base_content = "This is a file in the base directory.";
 | 
			
		||||
// First touch the file
 | 
			
		||||
run_command(`touch ${base_file}`);
 | 
			
		||||
// Then write to it with a separate command
 | 
			
		||||
run_command(`echo ${base_content} > ${base_file}`);
 | 
			
		||||
 | 
			
		||||
// Create a test file in the subdirectory
 | 
			
		||||
let sub_file = sub_dir + "/sub_file.txt";
 | 
			
		||||
let sub_content = "This is a file in the subdirectory.";
 | 
			
		||||
// First touch the file
 | 
			
		||||
run_command(`touch ${sub_file}`);
 | 
			
		||||
// Then write to it with a separate command
 | 
			
		||||
run_command(`echo ${sub_content} > ${sub_file}`);
 | 
			
		||||
 | 
			
		||||
// Get the current working directory before changing
 | 
			
		||||
let pwd_before = run_command("pwd");
 | 
			
		||||
println(`Current directory before chdir: ${pwd_before.stdout.trim()}`);
 | 
			
		||||
 | 
			
		||||
// Change to the base directory
 | 
			
		||||
println(`Changing directory to: ${base_dir}`);
 | 
			
		||||
let chdir_result = chdir(base_dir);
 | 
			
		||||
println(`Directory change result: ${chdir_result}`);
 | 
			
		||||
 | 
			
		||||
// Get the current working directory after changing
 | 
			
		||||
let pwd_after = run_command("pwd");
 | 
			
		||||
println(`Current directory after chdir: ${pwd_after.stdout.trim()}`);
 | 
			
		||||
 | 
			
		||||
// List files in the current directory (which should now be the base directory)
 | 
			
		||||
println("Files in the current directory:");
 | 
			
		||||
let files = find_files(".", "*");
 | 
			
		||||
println("Files found:");
 | 
			
		||||
for file in files {
 | 
			
		||||
    println(`- ${file}`);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Change to the subdirectory
 | 
			
		||||
println(`Changing directory to: subdir`);
 | 
			
		||||
let chdir_sub_result = chdir("subdir");
 | 
			
		||||
println(`Directory change result: ${chdir_sub_result}`);
 | 
			
		||||
 | 
			
		||||
// Get the current working directory after changing to subdirectory
 | 
			
		||||
let pwd_final = run_command("pwd");
 | 
			
		||||
println(`Current directory after second chdir: ${pwd_final.stdout.trim()}`);
 | 
			
		||||
 | 
			
		||||
// List files in the subdirectory
 | 
			
		||||
println("Files in the subdirectory:");
 | 
			
		||||
let subdir_files = find_files(".", "*");
 | 
			
		||||
println("Files found:");
 | 
			
		||||
for file in subdir_files {
 | 
			
		||||
    println(`- ${file}`);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Change back to the parent directory
 | 
			
		||||
println("Changing directory back to parent...");
 | 
			
		||||
let chdir_parent_result = chdir("..");
 | 
			
		||||
println(`Directory change result: ${chdir_parent_result}`);
 | 
			
		||||
 | 
			
		||||
// Clean up (uncomment to actually delete the files)
 | 
			
		||||
// println("Cleaning up...");
 | 
			
		||||
// Change back to the original directory first
 | 
			
		||||
// chdir(pwd_before.stdout.trim());
 | 
			
		||||
// delete(sub_file);
 | 
			
		||||
// delete(base_file);
 | 
			
		||||
// delete(sub_dir);
 | 
			
		||||
// delete(base_dir);
 | 
			
		||||
// println("Cleanup complete");
 | 
			
		||||
 | 
			
		||||
"Directory operations script completed successfully!"
 | 
			
		||||
		Reference in New Issue
	
	Block a user