我需要删除一个包含只读文件的目录。 哪种方法更好:
使用2619749220223550550,或
DirectoryInfo.Delete()
?
使用2619749220223550550464,我必须手动关闭每个文件的只读属性,但是ManagementObject.InvokeMethod("Delete")
似乎并不需要。 有没有一种情况比另一种更好?
示例代码(test.txt是只读的)。
DirectoryInfo dir = new DirectoryInfo(@"C:\Users\David\Desktop\");
dir.CreateSubdirectory("Test");
DirectoryInfo test = new DirectoryInfo(@"C:\Users\David\Desktop\Test\");
File.Copy(@"C:\Users\David\Desktop\test.txt", @"C:\Users\David\Desktop\Test\test.txt");
File.SetAttributes(@"C:\Users\David\Desktop\Test\test.txt", FileAttributes.Archive);
test.Delete(true);
DirectoryInfo dir = new DirectoryInfo(@"C:\Users\David\Desktop\");
dir.CreateSubdirectory("Test");
DirectoryInfo test = new DirectoryInfo(@"C:\Users\David\Desktop\Test\");
File.Copy(@"C:\Users\David\Desktop\test.txt", @"C:\Users\David\Desktop\Test\test.txt");
string folder = @"C:\Users\David\Desktop\Test";
string dirObject = "Win32_Directory.Name='" + folder + "'";
using (ManagementObject managementObject = new ManagementObject(dirObject))
{
managementObject.Get();
ManagementBaseObject outParams = managementObject.InvokeMethod("Delete", null,
null);
// ReturnValue should be 0, else failure
if (Convert.ToInt32(outParams.Properties["ReturnValue"].Value) != 0)
{
}
}
请给我一个使用php列出目录中所有文件夹,子文件夹,文件的解决方案。 我的文件夹结构是这样的:
Main Dir
Dir1
SubDir1
File1
File2
SubDir2
File3
File4
Dir2
SubDir3
File5
File6
SubDir4
File7
File8
我想获取每个文件夹中所有文件的列表。
php中有任何shell脚本命令吗?
我一直在尝试以编程方式在/sdcard
中创建目录,但无法正常工作。 下面的代码始终输出directory not created.
boolean success = (new File("/sdcard/map")).mkdir();
if (!success) {
Log.i("directory not created", "directory not created");
} else {
Log.i("directory created", "directory created");
}
我知道我可以通过获取当前目录
$CurrentDir = Dir.pwd
当前目录的父目录怎么样?
所以我有一个类型为"file"
的基本表单输入,但是我希望用户能够选择文件夹位置而不是文件。
如何获得此输入以选择文件夹而不是文件,还是有另一种方法呢?
我现在遇到了JavaFX的一个小问题。 我试图在代码中选择一个文件,使我可以指向一个文件夹而不是一个文件。 目前,我没有解决方案。 您是否知道解决方法(除了从swing使用JFileChooser之外)?
非常感谢您提前回答
编辑:我现在已经得到一个答案,尝试对其进行测试,但是我忘了提及JavaFX的版本。 这是几天前发布的最新2.0.3稳定版(但最初的非beta 2.0和2.0.1也存在此问题)
如何向用户显示允许他/她选择目录的控件?
似乎没有任何本机.net控件可以执行此操作?
我想检查给定目录是否存在。 我知道如何在Windows上执行此操作:
BOOL DirectoryExists(LPCTSTR szPath)
{
DWORD dwAttrib = GetFileAttributes(szPath);
return (dwAttrib != INVALID_FILE_ATTRIBUTES &&
(dwAttrib & FILE_ATTRIBUTE_DIRECTORY));
}
和Linux:
DIR* dir = opendir("mydir");
if (dir)
{
/* Directory exists. */
closedir(dir);
}
else if (ENOENT == errno)
{
/* Directory does not exist. */
}
else
{
/* opendir() failed for some other reason. */
}
但是我需要一种可移植的方式来执行此操作..无论使用什么OS Im,有没有办法检查目录是否存在? 也许是C标准库的方式?
我知道我可以使用预处理器指令并在不同的OS上调用这些函数,但这不是Im所要求的解决方案。
我现在至少结束了这一点:
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
int dirExists(const char *path)
{
struct stat info;
if(stat( path, &info ) != 0)
return 0;
else if(info.st_mode & S_IFDIR)
return 1;
else
return 0;
}
int main(int argc, char **argv)
{
const char *path = "./TEST/";
printf("%d\n", dirExists(path));
return 0;
}
假设以下是我网站的目录结构:
现在在sub.html
中,我可以简单地引用如下图像:
<img src="./images/logo.png">
但是我想从sub.html
引用相同的图像。src
应该是什么?
我正在尝试检测getData
或getData
事件中是否拖动了文件夹或文件。
在2582422151881881280事件中,有一个名为dragstart
的参数,该参数具有名为dragover
的字段,其中列出文件(.files
)或项目(.items
),具体取决于浏览器,我可以在Chrome和Firefox中阅读它们。 但是,对于dragover
和dragenter
事件,这些字段(.files
和.items
)为空。 问题是我在拖动而不是拖放时需要该信息。
注意:对于文件和文件夹getData
都是dragstart
。
我发现以下答案部分适合我的问题:
WebKit以及因此导致的Chrome浏览器在何时可以调用
getData
时受到严格限制。不允许在dragstart
或dragover
中进行操作。我认为这是典型的错误。
但是该答案来自2012年,我找不到有关该主题的实际更新信息,所以我正在寻找有关此主题的更新信息。
对于某人来说,这可能是一个非常简单的问题-我能够使用Directory.GetFiles()
来获取给定目录中的文件列表,但是如果我想获取目录列表,该怎么办? 是否可以在Directory.GetDirectories()
中以某种方式摆在我面前?
另外,我使用的是Windows,因此,如果答案是使用Linux / unix命令,那对我来说将不起作用。
.NET例如具有Directory.GetFiles()
方法和单独的Directory.GetDirectories()
方法,所以我认为R将有一个类似的对。 提前致谢。
有谁知道我该如何检查目录在PHP中是否可写?
功能is_writable
对文件夹不起作用。 (编辑:它确实有效。请参见接受的答案。)
我已经安装了带有plugin -install something
的elasticsearch。我的插件似乎驻留在/usr/local/Cellar/elasticsearch/0.19.8/plugins
中。有了cat $( which plugin )
,我看到了包含正确路径的ES_HOME
变量。
有没有办法向Elastic询问plugin -install something
或plugins目录?
我要查找的是插件可执行文件用来在执行plugin -install something
时安装插件的目录。我想在脚本中使用该路径来启动弹性搜索。
我可以使用任何Linux命令找出JAVA_HOME
目录吗? 我尝试打印出环境变量(“ env”),但是找不到目录。
对于bash大师来说,这将是一个非常简单的免费赠品:
题
使用bash,如何从目录中的所有文件中创建类路径?
细节
给定目录:
LIB=/path/to/project/dir/lib
除了* .jar文件外,仅包含以下内容:
junit-4.8.1.jar
jurt-3.2.1.jar
log4j-1.2.16.jar
mockito-all-1.8.5.jar
我需要以以下形式创建用冒号分隔的类路径变量:
CLASSPATH=/path/to/project/dir/lib/junit-4.8.1.jar:/path/to/project/dir/lib/jurt-3.2.1.jar:/path/to/project/dir/lib/log4j-1.2.16.jar:/path/to/project/dir/lib/mockito-all-1.8.5.jar
几乎可以表达我正在寻找的逻辑的一些伪代码大致如下:
for( each file in directory ) {
classpath = classpath + ":" + LIB + file.name
}
通过bash脚本完成此操作的简单方法是什么?
我正在用PHP构建路径字符串。 我需要它可跨平台(即Linux,Windows,OS X)工作。我正在这样做:
$path = $someDirectory.'/'.$someFile;
假定\
和$someFile
和$someFile
在运行时在各种平台上都正确格式化。 在Linux和OS X上可以很好地工作,而在Windows上则不能。 问题是/
字符,我认为该字符适用于Windows。
是否有PHP函数或其他技巧可在Windows运行时将其切换到\
?
编辑:只是要清楚,结果字符串是
c:\Program Files (x86)\Sitefusion\Sitefusion.org\Defaults\pref/user.preferences
在Windows上。 显然,斜杠的混合会混淆Windows。
我正在一个项目上,我需要列出目录中的所有子目录,例如,如何列出c:\中的所有子目录
我可以使用dir
命令行获取子文件夹及其文件的列表,这些列表按文件夹名称而不是仅按文件名称排序吗?
运用
目录/ s / b / o:gn> f.txt
我首先获得所有子文件夹,然后才获得所有子文件,例如:
d:\root0\root1\folderA
d:\root0\root1\folderB
d:\root0\root1\file00.txt
d:\root0\root1\file01.txt
d:\root0\root1\folderA\fileA00.txt
d:\root0\root1\folderA\fileA01.txt
d:\root0\root1\folderB\fileB00.txt
d:\root0\root1\folderB\fileB01.txt
但我想得到-
d:\root0\root1\file00.txt
d:\root0\root1\file01.txt
d:\root0\root1\folderA
d:\root0\root1\folderA\fileA00.txt
d:\root0\root1\folderA\fileA01.txt
d:\root0\root1\folderB
d:\root0\root1\folderB\fileB00.txt
d:\root0\root1\folderB\fileB01.txt
[“ file00.txt”和“ file01.txt”也可以在列表的末尾]
谢谢,
Atara
在我的.NET 2.0应用程序中,我需要检查是否存在足够的权限来创建文件并将其写入目录。 为此,我具有以下功能,该功能尝试创建文件并向其中写入一个字节,然后删除自身以测试权限是否存在。
我认为检查的最佳方法是实际尝试并捕获发生的任何异常。 不过,我对一般的Exception捕获并不特别满意,因此,有没有更好的方法,或者也许是一种更可接受的方法?
private const string TEMP_FILE = "\\tempFile.tmp";
/// <summary>
/// Checks the ability to create and write to a file in the supplied directory.
/// </summary>
/// <param name="directory">String representing the directory path to check.</param>
/// <returns>True if successful; otherwise false.</returns>
private static bool CheckDirectoryAccess(string directory)
{
bool success = false;
string fullPath = directory + TEMP_FILE;
if (Directory.Exists(directory))
{
try
{
using (FileStream fs = new FileStream(fullPath, FileMode.CreateNew,
FileAccess.Write))
{
fs.WriteByte(0xff);
}
if (File.Exists(fullPath))
{
File.Delete(fullPath);
success = true;
}
}
catch (Exception)
{
success = false;
}
}
我想编写一个检查目录是否存在的程序; 如果该目录不存在,那么它将在其中创建目录和一个日志文件,但是如果该目录已经存在,则它将在该文件夹中创建一个新的日志文件。
我如何在Linux中用C做到这一点?