我正在使用 cd 命令将我的驱动器切换到 E:,它基本上包含我用于实验的所有垃圾文件,但问题是 cd 无法正常工作。我使用的命令是
cd E:
ren *.* *.bat
Run Code Online (Sandbox Code Playgroud)
然而,当我运行这个批处理文件(用 .bat 扩展名保存在记事本中)时,它没有执行 cd 命令并最终重命名了我的所有桌面。当我尝试在命令窗口中使用它时,结果是
cd E:
E:\
Run Code Online (Sandbox Code Playgroud)
那没什么我该怎么办。
我不确定以下问题是否特定于 busybox:我有一个安装了 busybox 的嵌入式设备。据我了解,当创建一个目录时,通常会自动创建2个隐藏文件:.代表当前目录和..代表父目录。例如,通过键入mkdir -p /tmp/normal_dir; cd /tmp/normal_dir; ls -a,输出将为. ..。
但是,我见过一个现有目录 ( /tmp/strange_dir) 不显示.和... 也就是说,通过键入cd /tmp/strange_dir; ls -a,输出为空,尽管导航到父目录仍然有效。也就是说,通过键入cd ..,内容是正确的。
我的问题是:如何创建没有.和..(如/tmp/strange_dir)这样的目录?我很困惑。
有哪些好的 Linux 命令可以让命令行上的不同目录之间的切换更容易?
我经常不得不在具有长名称的不同目录之间切换,例如
cd foo/20100801-rev124-test2
ls
cd ../20100801-rev124-test1
ls
cd ../20100802-rev126-bar
Run Code Online (Sandbox Code Playgroud)
通常,我使用制表符完成,所以它是这样的:
cd ../2010080 Tab2 Tab-rev12 Tab6- Tabbar
但这很烦人,因为所有这些名称都非常相似,因此选项卡完成并没有真正节省多少工作。
在这种情况下,您使用什么技巧来减少打字?
顺便说一句,我使用pushd和popd有时,但在这里它不会帮助,因为我不访问的目录中给定的顺序。
更新:
有关一个不错的解决方案,请参阅我的其他相关问题的已接受答案。基本上,只需创建一个替代命令:cd
function cd2 { select a in $1*; do cd $a; break; done }
Run Code Online (Sandbox Code Playgroud)
它将一次列出所有可能的完成:
$ cd2 2010080
(1) 20100801-rev124-test2
(2) 20100801-rev124-test1
(3) 20100802-rev126-bar
Run Code Online (Sandbox Code Playgroud)
你可以通过输入它的号码来选择一个。
可能的重复:
导航到 Windows 命令提示符中的上一个目录
cd -在 Windows 中是否有等效的 Linux (更改到上一个目录)?
我在 C 分区,我在提示符下输入:
c:\> cd d:
Run Code Online (Sandbox Code Playgroud)
......它呼应:
d:\
c:\>
Run Code Online (Sandbox Code Playgroud)
...所以它回到c:\.
为什么会这样?
ISO 9660 文件系统的第 17 扇区可能包含所谓的引导记录。它是一个特殊的卷描述符,类型= 0x00。我知道的唯一引导记录是 El Torito 的引导记录,它包含引导目录的 LBA。问题是
除了 El Torito 之外,对于 ISO 9660 是否存在任何其他引导系统?据我了解,ISO 9660 规范允许这样做,但除了 Eltorito 之外我找不到其他任何标准。
cd "$(mkdir -v "$(date -R)"|sed s+.`(.*)'.*)"
Run Code Online (Sandbox Code Playgroud)
这是为了创建一个名为$(date -R). 我可以简单地 cd $(date -R),但罪魁祸首是自上一个命令运行以来日期可能会更改 ( mkdir)。
所以我想解析它的输出以确定创建的目录的名称。如何更正代码?目前它显示>提示,表明缺少引用。
更改'为\'不会改变结果。如果您有更好的方法来做到这一点,请说出来。
我是这里的 Windows 菜鸟(来自 linux 背景)。我在 cmd 提示更改到不同驱动器上的目录时遇到问题。要么我没有为这个特定场景找到任何合适的答案,要么我没有使用正确的术语进行搜索。这是场景...
我在C:\,我想更改到一个目录 say E:\specific\directory。
我知道 的/E开关cd,但在这种情况下它不起作用。更多,我有C:\和D:\在 SSD 上,我E:\在 HDD 上,所以它们在两个不同的物理硬盘上。
我可以
C:\> cd /D D:\specific\directory 没有问题,但试图
C:\> cd /E E:\specific\directory
我收到错误 The filename, directory name, or volume label syntax is incorrect.
它让我在E:\驱动器上的唯一方法是使用两个命令,即如果我C:\> e:先执行,然后它会落在E:\驱动器上,然后使用第二个cd命令我可以导航到我想要的任何目录E:\。那么有什么方法可以让我在一个命令而不是两个命令中导航C:\到特定目录E:\?
谢谢!
我想使用 DVD-R 刻录可以在任何播放器中播放的常规音频磁盘(类似于预先录制的音频磁盘),而不仅仅是计算机。
这行得通吗?
而且,如果是这样,是否可以假设我可以在其中放入比 700 MB 的 CD 多得多的歌曲?
换句话说,一旦我完成了它的刻录,它上面的文件格式应该是.cda.
我有一个输出路径的批处理文件。如何使用Windows cmd中的批处理文件更改当前目录?
我尝试过什么:
F:\>cd my-path.bat
The system cannot find the path specified.
F:\>cd (my-path.bat)
The system cannot find the path specified.
F:\>my-path.bat | cd
F:\
The process tried to write to a nonexistent pipe.
Run Code Online (Sandbox Code Playgroud)
my-path.bat 内容:
@ECHO OFF
@ECHO F:\MyPath\
Run Code Online (Sandbox Code Playgroud) 这必须有一个简单的答案,但是当我尝试搜索“cd”时,所有搜索结果都与光盘有关,而不是与 linux 命令有关。
cd ..
Run Code Online (Sandbox Code Playgroud)
带我到我所在的当前目录的父目录。但是,在我的工作电脑上,我也可以使用
..
Run Code Online (Sandbox Code Playgroud)
完全靠自己做同样的事情。我也可以在工作中的一个集群上执行此操作,但不能在另一个集群上执行此操作。什么使我能够使用此快捷方式,以便我可以在其他地方复制它?