如何设置操作路径?
How to set a operating path?
namespace Videos_umbennen
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\Kamil\Desktop\C# with .Net Programming\";
var myFiles = Directory.GetFiles(path, "*.mp4");
for (int i = 0; i < myFiles.Length; i++)
{
File.Move(Path.GetFileName(myFiles[i]), "video " + i);
}
var newFiles = Directory.GetFiles(path, "*.mp4");
for (int i = 0; i < newFiles.Length; i++)
{
Console.WriteLine(newFiles.GetValue(i));
}
}
}
}
我写了这段代码,但问题是它只能在我放置程序 .exe
的文件夹中工作,那么如何让 .exe
从任何目录工作?是否有一些方法或其他东西可以表明我在特定路径或其他地方工作?
这取决于您要将它们移动到哪里。目前,您只需将它们放在 EXE 所在的路径中 运行,因为您没有指定文件夹,因此这是默认文件夹。
示例:
File.Move(myFiles[i], Path.Combine(path, "video " + i.ToString + ".mp4"));
// Path.GetFileName is not necessary, the path returned from GetFiles is the full path
这会将文件移动到同一目录,但将文件名更改为 video XXX.mp4
简而言之,不要尝试更改 "operating path"(如您的问题标题所述),而是准确指定您希望将文件移动到的位置,阅读,或其他。不要假设你正在从哪个目录工作,除非假设一切都源于应用程序目录(仅对记录到文件、检索应用程序部署的资源等操作有意义)
主要问题是这一行:
File.Move(Path.GetFileName(myFiles[i]), "video " + i);
第二个参数"video " + i
将与当前正在执行的程序相关。您可以使用 Path.Combine
使其相对于 path
File.Move(Path.GetFileName(myFiles[i]), Path.Combine(path, "video " + i));
你可以Server.MapPath("C:\Users\Kamil\Desktop\C# with .Net Programming\")
它returns完整路径,包括服务器上的目录。
namespace Videos_umbennen
{
class Program
{
static void Main(string[] args)
{
string path = @"C:\Users\Kamil\Desktop\C# with .Net Programming\";
var myFiles = Directory.GetFiles(path, "*.mp4");
for (int i = 0; i < myFiles.Length; i++)
{
File.Move(Path.GetFileName(myFiles[i]), "video " + i);
}
var newFiles = Directory.GetFiles(path, "*.mp4");
for (int i = 0; i < newFiles.Length; i++)
{
Console.WriteLine(newFiles.GetValue(i));
}
}
}
}
我写了这段代码,但问题是它只能在我放置程序 .exe
的文件夹中工作,那么如何让 .exe
从任何目录工作?是否有一些方法或其他东西可以表明我在特定路径或其他地方工作?
这取决于您要将它们移动到哪里。目前,您只需将它们放在 EXE 所在的路径中 运行,因为您没有指定文件夹,因此这是默认文件夹。
示例:
File.Move(myFiles[i], Path.Combine(path, "video " + i.ToString + ".mp4"));
// Path.GetFileName is not necessary, the path returned from GetFiles is the full path
这会将文件移动到同一目录,但将文件名更改为 video XXX.mp4
简而言之,不要尝试更改 "operating path"(如您的问题标题所述),而是准确指定您希望将文件移动到的位置,阅读,或其他。不要假设你正在从哪个目录工作,除非假设一切都源于应用程序目录(仅对记录到文件、检索应用程序部署的资源等操作有意义)
主要问题是这一行:
File.Move(Path.GetFileName(myFiles[i]), "video " + i);
第二个参数"video " + i
将与当前正在执行的程序相关。您可以使用 Path.Combine
path
File.Move(Path.GetFileName(myFiles[i]), Path.Combine(path, "video " + i));
你可以Server.MapPath("C:\Users\Kamil\Desktop\C# with .Net Programming\")
它returns完整路径,包括服务器上的目录。