如何从C程序更改目录,以便在程序完成更改时仍保留?

时间:2013-04-10 20:56:46

标签: c batch-file directory executable

我正在编写一个类似于“cd”命令但使用快捷方式的程序。

(保存路径:cds -s 1 C:\ saved \ directory \ path) (切换到保存的路径:cds 1)

为此,我尝试了chdir()和system(),但只要程序运行,效果就会持续。程序终止后,路径将恢复到程序运行之前的状态。我目前正在使用一个解决方法,通过一个bat文件加载我的程序,该文件运行由程序创建的另一个bat文件(包含cd命令)。

所以我的bat文件类似于:

cds.exe %1 %2 %3
C:\temp\cds_cmd.bat
del C:\temp\cds_cmd.bat

cds_cmd.bat由cds.exe生成

我真的想知道是否有其他方法可以在不使用bat文件的情况下执行此操作。

我发现并阅读了Is there any way to change directory using C language?但未找到我要找的东西。

1 个答案:

答案 0 :(得分:0)

这不是您的C问题的答案,而是使用仅批处理的替代解决方案:

保存路径:

set 1=C:\saved\directory\path

切换到已保存的路径:

cd %1%

如果您愿意,可以为此目的使用不同的变量名称(而不是数字)。