标签: cd

C程序中的系统("cd <path>")


我正在尝试在C程序中使用system()函数.
例如,我尝试使用system()函数在桌面上创建一个目录.
我的代码:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
   system("cd c:\\Users\\USER\\Desktop");
   system("mkdir test");
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,会创建一个目录,但不会在我的桌面上创建.它是在我的项目目录中创建的.
为什么会这样?
我可以在system()函数中使用cd命令吗?如果没有,是否可以替换将与system()一起使用的cd命令?

我正在使用Windows操作系统.我正在尝试使用来自C程序的system(),因为我使用的是cmd程序.
我知道我可以使用WinAPI创建目录而没有任何问题.我不想使用WinAPI,我的问题是如何使用system()使其工作.

c windows cmd cd system

9
推荐指数
2
解决办法
1万
查看次数

一个bash one-liner,可以切换到某个文件所在的目录

我经常想要更改到特定可执行文件所在的目录.所以我喜欢类似的东西

cd `which python` 
Run Code Online (Sandbox Code Playgroud)

切换到安装python命令的目录.但是,这显然是非法的,因为cd占用目录,而不是文件.显然有一些regexp-foo我可以做的去除文件名,但这会打败它是一个简单的单行.

bash cd which

8
推荐指数
2
解决办法
572
查看次数

结束bash脚本后保持目录更改

我的bash脚本:

#!/bin/bash
cd /tmp
Run Code Online (Sandbox Code Playgroud)

在运行我的脚本之前:

pwd: /
Run Code Online (Sandbox Code Playgroud)

运行我的脚本后:

pwd: /
Run Code Online (Sandbox Code Playgroud)

运行后我的脚本通过采购它:

pwd: /tmp
Run Code Online (Sandbox Code Playgroud)

如何在没有采购脚本的情况下保持脚本的路径?

bash shell cd

8
推荐指数
3
解决办法
1663
查看次数

cd和函数chdir之间的区别

cdshell命令和Perl函数有chdir什么区别?请你解释一下这个例子吗?

perl cd chdir

8
推荐指数
1
解决办法
6700
查看次数

Bash脚本更改父shell目录

我想做什么

我已经创建了一个shell脚本,我已添加到我的$ PATH中,它将下载并获取新Laravel项目的所有设置.我希望通过将终端目录更改为新项目文件夹来结束脚本.

根据我现在所理解的,它只是改变了脚本实际运行的子shell的目录.我似乎无法弄清楚如何做到这一点.任何帮助表示赞赏.谢谢!

#! /usr/bin/env bash

echo -e '\033[1;30m=========================================='

## check for a directory
if test -z "$1"; then
  echo -e ' \033[0;31m? Please provide a directory name'
  exit
fi

## check if directory already exist
if [ ! -d $1 ]; then
  mkdir $1
else
  echo -e ' \033[0;31m? The '"$1"' directory already exists'
  exit
fi

# move to directory
cd $1

## Download Laravel
echo -e ' \033[0;32m+ \033[0mDownloading Laravel...'
curl -s -L https://github.com/laravel/laravel/zipball/master > …
Run Code Online (Sandbox Code Playgroud)

unix bash shell cd

8
推荐指数
2
解决办法
1万
查看次数

在CMD/.bat中我可以将dir从C更改为D但不是其他方式?

好的,这里是我的CMD窗口的复制粘贴

C:\Documents and Settings\Developer>cd /d "D:\"
D:\>cd /c "C:\"
The filename, directory name, or volume label syntax is incorrect.
D:\>
Run Code Online (Sandbox Code Playgroud)

当我在C盘中运行cd/d"D:\"时它工作正常,但是当我在D盘中运行cd/c"C:\"时我得到一个错误

那么如何将目录更改回C盘?

编辑:

这是我的CMD窗口更简单的"复制粘贴"

C:\>cd /d "D:\"
D:\>cd /c "C:\"
The filename, directory name, or volume label syntax is incorrect.
D:\>
Run Code Online (Sandbox Code Playgroud)

是不是因为它不工作的场景......

windows cmd cd batch-file

8
推荐指数
4
解决办法
8万
查看次数

在bash中不知道其名称的情况下进入目录

如果我知道目录中会有一个文件夹,但我不知道它的名字,bash中有一个简单的方法可以进入它吗?如果我想检查以确保当前目录中存在文件夹,可以这样做吗?

bash cd

8
推荐指数
1
解决办法
1967
查看次数

当路径包含符号链接时,如何在unix/linux中移回一个目录?

我创建了一个指向深层嵌套目录的符号链接.使用符号链接我可以从我的主目录移动到该目录.我想从目标目录移回一个目录,但shell返回到主目录.

[root@pe1800xs ~]# pwd
/root

[root@pe1800xs ~]# mkdir -p abc/def/ghi/jkl/mno/pqr

[root@pe1800xs ~]# ln -s abc/def/ghi/jkl/mno/pqr/ xyz

[root@pe1800xs ~]# cd xyz

[root@pe1800xs xyz]# pwd
/root/xyz

[root@pe1800xs xyz]# pwd -P
/root/abc/def/ghi/jkl/mno/pqr

[root@pe1800xs xyz]# cd ..

[root@pe1800xs ~]# pwd
/root
Run Code Online (Sandbox Code Playgroud)

我想要实现的是当我cd..pqr目录中执行shell时应该到达mno目录.

unix linux shell symlink cd

7
推荐指数
2
解决办法
3万
查看次数

如何在不更改工作目录的情况下运行npm install

如何在不将工作目录更改为项目根的情况下为项目安装依赖项?

你必须执行:

cd /my/project/root && npm install && cd -
Run Code Online (Sandbox Code Playgroud)

我正在寻找像-C的Makefile这样的选项,以便我可以:

npm install -C /my/project/root
Run Code Online (Sandbox Code Playgroud)

有关如何实现这一目标的任何想法?

cd node.js npm npm-install

7
推荐指数
1
解决办法
2209
查看次数

在 MATLAB 中查找当前脚本(mlx 文件)的位置

我正在许多不同的位置处理我的 MATLAB 代码,如果我能让代码知道它在计算机上的位置,那将非常有帮助。到目前为止,我一直在使用 .m 文件。对于 .m 文件,我找到了以下解决方案:

%example 1    
cd(fileparts(mfilename('fullpath')))
Run Code Online (Sandbox Code Playgroud)

或者

%example 2
tmp = matlab.desktop.editor.getActive;
cd(fileparts(tmp.Filename));
Run Code Online (Sandbox Code Playgroud)

或者

%example 3
S = dbstack('-completenames');
S(1).file
Run Code Online (Sandbox Code Playgroud)

或者

%example 4
which(mfilename)
Run Code Online (Sandbox Code Playgroud)

但是在 MATLAB 2016a 中,有一个名为 live script 的新功能。这样一来,这些解决方案就不再起作用了。

%For example I would like to do something like this
cd(MLX_FILELOCATION);
%or
which(mlxfilename)
Run Code Online (Sandbox Code Playgroud)

编辑 III:问题:我无法获得当前打开/执行的 MATLAB 文件的路径/文件位置或名称。使用 *.m-files 这可以通过上面的示例实现。使用 *.mlx-files 它是不可能了。我更喜欢使用 *.mlx-files 而不是 *.m-files。)

在 *.mlx 文件中执行的上述示例的输出:

%example1: mfilename returns the path to the 'MatlabEvaluationHelper' in the 'AppData\Local\Temp'-folder
%example2: output is an empty …
Run Code Online (Sandbox Code Playgroud)

directory matlab cd

7
推荐指数
1
解决办法
1739
查看次数

标签 统计

cd ×10

bash ×4

shell ×3

cmd ×2

unix ×2

windows ×2

batch-file ×1

c ×1

chdir ×1

directory ×1

linux ×1

matlab ×1

node.js ×1

npm ×1

npm-install ×1

perl ×1

symlink ×1

system ×1

which ×1