问题标签 [dos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
18758 浏览

windows - 批处理脚本中是否有办法仅在从 Windows 管理器调用时才保持控制台打开?

我有一个 DOS 批处理脚本,它调用一个通过控制台 UI 与用户交互的 java 应用程序。为了论证起见,我们称其为runapp.bat,其内容为

如果在控制台中调用批处理脚本,一切正常。但是,如果从窗口管理器调用脚本,则新打开的控制台会在应用程序完成执行后立即关闭。我想要的是控制台在所有情况下都保持打开状态。

我知道以下技巧:

  • pause在脚本末尾添加命令。runapp.bat如果从命令行调用,这有点难看。

  • 创建一个新的 shellcmd /K java com.example.myApp这是我迄今为止找到的最好的解决方案,但是当从命令行调用时会留下一个额外的 shell 环境,因此调用exit实际上并不会关闭 shell。

有没有更好的办法?

0 投票
8 回答
6281 浏览

bash - Bash/DOS/PowerShell 脚本列出最新版本的文件?

我们有一个列表(比如说 50 个)报告,这些报告会根据特定条件被转储到各种文件夹中。所有报告都有标准名称,例如。D099C.LIS、D18A0.LIS 等

有时一个报告最多可以存在 5 个不同的位置,我需要生成每个报告的最新版本的所有位置的列表。

我可以使用代码轻松完成,或者将“dir”或“ls”输出重定向到文本文件,然后在 Excel 中进行操作,但我更喜欢使用 DOS、bash、或 PowerShell。

到目前为止,我在 PowerShell 中提出的最好的(我使用 bash 做过类似的事情)是:

这将递归地列出所有带有 *.lis 扩展名的文件,然后按名称 (asc) 和日期 (desc) 对其进行排序,然后显示目录、名称和日期。

这给出了这种输出:

我现在显然需要做的是删除不是最新版本的文件,以便输出看起来像这样(不太担心格式化):

有人有想法么?

[编辑] 这个问题的一些好主意和答案。不幸的是,我不能将所有内容都标记为已接受,但 EBGreen 的(已编辑)答案无需修改即可工作。在验证它们时,我将在此处添加有效的解决方案。

重击:

电源外壳:

0 投票
6 回答
37100 浏览

svn - 递归删除匹配文件和目录的命令行

如何递归删除与特定模式匹配的所有文件和目录?例如删除所有“.svn”目录和它们包含的文件?

(遗憾的是仅 DOS)

0 投票
7 回答
56359 浏览

command-line - 递归删除文件但不包括某个文件的命令行

我需要使用命令行从文件夹及其所有子文件夹中删除某种类型的文件(例如 .zip 文件)。理想情况下,我正在寻找可以在 Windows 中作为 .bat 文件运行的东西。

我知道 DEL 命令有一个 /S 开关来查看子文件夹,但为了增加挑战,我需要排除某个名称的文件(例如“Backup.zip”)。

有没有办法递归删除文件但排除特定名称的文件。在我的情况下,明确列出我要删除的所有文件名是不切实际的,只列出我不想删除的匹配类型的文件。

0 投票
1 回答
7815 浏览

visual-studio - Tortoise SubWCRev.exe 预构建事件

我在 Visual Studio 2005 中将以下命令作为预构建事件运行,它运行良好:

因此,我将命令更改为使用内置的 Visual Studio 宏以获得更好的可维护性,但它失败了。它似乎在 $(SolutionDir) 宏上失败,因为它附加了一个尾随反斜杠,而 SubWCRev.exe 似乎不喜欢尾随反斜杠?

是否有 dos 命令或其他方法可以删除尾随反斜杠?

谢谢

0 投票
3 回答
34370 浏览

dos - How can I delete all files/subdirs except for some files in DOS?

I'm looking for a DOS script to delete all files and subdirectories in a root directory except for a set of batch files (*.bat) that are in the root directory. Any DOS jocks out there that know an easy way to do this?

Update

Thanks for your help everyone. This is where I'm at now (see below). I'm using Ken's suggestion for the delete of the files. I would like to know how I can stop this script running if the del or RD commands fail due to a lock on a file/dir. Anyone know how? Right now, this script will do a bunch of things after the deletes and I'd like to stop the script if any of the deletes fail.

0 投票
7 回答
28708 浏览

formatting - 如何在 MS-DOS 脚本中打印换行符?

我想在 MS-DOS 中打印程序的输出,所以我写了一个 .bat 文件,上面写着:

但是输出 - 出现在我的命令提示符上 - 看起来像这样:

我想使用 MS-DOS 在输出中插入换行符,因为我不想用与代码应该做什么无关的任何东西污染我的 Ruby 代码。

MS-DOS 中唯一看起来像我想要的命令是“类型”和“打印”,但它们都是用于打印文件的。

我尝试创建一个带有两个空行的文本文件并使用“type”命令输出它,但它看起来很乱。

任何想法,将不胜感激。

0 投票
4 回答
1439 浏览

shell - 递归搜索目录,将指定文件类型从一个位置移动到另一个保留目录结构

有没有办法指定一个目录(比如“C:\images”)并将每个 .jpg 文件从那里移动到另一个目录(比如“D:\media”)但保留目录结构(所以如果文件是“ C:\images\paintball\july\07\headshot.jpg” 移动后会是“D:\media\paintball\july\07\headshot.jpg”)?

我正在使用 cygwin(但如果也可以使用 DOS,我会很乐意使用)。

0 投票
1 回答
1124 浏览

scripting - How do I preserve variables in batch scripts when set in "for" loops?

I need to set my classpath using all of the jars in a particular directory. Bash does it as follows:

But "for" works differently in DOS, and essentially sends the command to the shell, but won't preserve the "set" on the variable

When you ask for $CP outside the for, you only get the last jar file. If you echo inside, you can see that %%j does have all of the values.

Has anyone found a solution?

0 投票
13 回答
801 浏览

database - 古老、未知的存储系统需要帮助

大家早,

我已经告诉客户我可以将他们的一些旧数据从基于 DOS 的系统迁移到我为他们开发的新系统中。但是我说,没有真正查看在旧系统中存储数据的文件 - 我只是认为快速谷歌会为我解决所有问题......我错了!

无论如何,这个程序有一个文件夹,里面有数百个......以及 800 个文件,有各种文件扩展名,.ave、.bak、.brw、.dat、.001、.002....、.007、.dbf、 .dbe 和 .his。

.Bak 显然不是 SQL 备份文件。

有没有人有任何使用这些文件类型的编程经验,他们可能会指出我以某种方式读取和提取数据的方向?

我不能提及程序名称,因为我认为原始开发人员不会允许这样做......

谢谢。