草庐IT

windows - 如何仅使用内置的(批处理脚本、资源管理器等)在 Windows 上压缩文件?

我正在尝试编写一个脚本,我可以将其提供给用户,让它自动压缩某些文件,然后将它们加载到ftp站点上。任何人都知道我在哪里可以找到有关仅使用运行Windows的用户可用的内容编写自动压缩文件的批处理文件的信息? 最佳答案 可以使用压缩文件夹(COM)支持和Windows脚本宿主来处理zip文件。您将从创建Shell.Application开始目的。FolderItemobject有CopyHere等方法,可以让你像操作文件夹一样操作zip文件。参见thispage用于压缩和解压缩示例代码。

windows - 重命名文件模式窗口批处理

我有一些文件如下所示:ABCD0123_R001_01234567_01234567_01234567-012345.csv如果运行ren*_*_*_*_**_.*我得到:ABCD0123_R001_01234567_01234567_.csv但我其实想得到:ABCD0123_R001_01234567_01234567.csv如果我运行ren/?没有文档,所以我需要一些帮助。 最佳答案 如果字段是固定的,那么在一些示例文件上试试这个。ren*.csv????????_????_????????_????????.*

windows - 在 Windows 批处理中使用创建日期和时间重命名文件

我有一个包含数千个pdf和tif的目录树。一个文件夹可能包含多个pdf或tif,在这种情况下它们的编号为1.pdf、2.pdf等......我必须让它们可用并确保它们首先是手动处理的最旧文件-所以我想用它们重命名它们创建日期和时间(1.pdf->20150415481876.pdf):目前我在用@echooffsetdatetime=%~t1setname=%~n1setextension=%~x1setyear=%datetime:~6,4%setmonth=%datetime:~3,2%setday=%datetime:~0,2%sethour=%datetime:~11,2%se

windows - 从 Windows 批处理变量中获取子字符串

在批处理文件中,我有一个包含IP的变量。举个例子:SETip=170.150.120.10我想定义另一个变量,将最后一个八位字节替换为1,在示例中为170.150.120.1。IP可能会改变(它是动态定义的),其长度会有所不同,因此捕获固定长度的子字符串并将其连接起来不会在任何时候都起作用(在示例中它将是SETbaseIP=%ip:~0,9%.1).如何解决这个任务?Windows命令行是否支持RegEx? 最佳答案 maytham-ɯɐɥıλɐɯ具有简单解决方案的关键组成部分-FOR/F。但该解决方案有很多复杂性,似乎与问题无关。

windows - 用于在同一位置启动多个 Windows 资源管理器实例的批处理脚本

我的WindowsXP桌面上有一个批处理脚本(LaunchWindowsExplorers.bat),它应该启动几个Windows资源管理器实例。看起来像这样:LaunchWindowsExplorers.bat:startexplorer"C:\SomeDirectory"startexplorer"C:\SomeDirectory"当我双击文件LaunchWindowsExplorers.bat我希望看到Windows资源管理器的两个实例在“C:\SomeDirectory”打开。相反,我看到了只有一个Windows资源管理器实例在“C:\SomeDirectory”打开。我需要做

windows - 是否可以编辑已在 Windows 批处理中输出的行?

所以,我目前正在制作一个“加载屏幕”,并且为了可能在我的编码中节省一些空间,我想知道您是否可以编辑已经输出的行。我可能会有一个括号[]作为加载的一个阶段,所以是否可以放置一个括号,然后等待并查看用户是否按C(继续)1-2秒,如果没有则进入下一阶段([][])?我目前有一个脚本,其中[]设置为load,对于每个阶段,我执行CLS,然后执行echo%LOAD%[]。另外,如果我只是想在一条线上做一个状态更新呢,比如:Checkingstatus...Loadingserver...然后Checkingstatus...OKLoadingserver...done如果你能为我找到一个像█这样

windows - 在批处理脚本中执行目录列表时速度很慢

你好StackOverflow成员!我正在尝试运行以下命令:REMthebelowlineliststhefoldernamesthataretobereadFOR/F"TOKENS=*DELIMS="%%din(%start_dir%\folder_list.txt)DO(ECHOEnteringinto:%%dDirectoryREMThebelowlineliststhefoldersandallofit'ssubfolders.Itthanoutputsittoafile.FOR/F"TOKENS=*DELIMS="%%ein('DIR/s"%work_dir%\%%d"')D

windows - 使用标准 Windows 命令行/批处理命令模拟 unix 'cut'

有没有办法在不借助cygwin或其他非标准Windows功能的情况下在WindowsXP上模拟unixcut命令?示例:使用tasklist/v,通过窗口标题找到特定任务,然后从该列表中提取PID以传递给taskkill。 最佳答案 仅供引用,tasklist和taskkill已经具有过滤功能:tasklist/FI"imagenameeqchrome.exe"taskkill/F/FI"imagenameeqiexplore.exe"如果您想要更通用的功能,批处理脚本(ugh)可以提供帮助。例如:for/f"tokens=1,2d

windows - 为什么我的 if Else if 语句在批处理脚本中不起作用?

我的脚本echo"Enteryourchoice(1or2or3):"set/pdbchoice=IF%dbchoiceEQU1(setdbtype="oracle")ELSE(IF%dbchoiceEQU2(setdbtype="sqlserver"))ELSE(IF%dbchoiceEQU3(setdbtype="db2"))ELSE(echo"Incorrectchoice")我得到以下输出:E:\csmilm>set/pdbchoice=1ELSEwasunexpectedatthistime.E:\csmilm>)ELSE(E:\csmilm>这里有什么问题?

windows - 如何使用 Windows 批处理增加文件夹名称?

我有一个批处理脚本,它创建一个名为New_Folder的文件夹以及其中的一些子目录和文件。目前,如果我需要创建多个New_Folder,我必须重命名批处理创建的每个New_Folder,然后才能再次运行它并创建一个新文件夹。我想做的是进行批处理检查,看看New_Folder是否已经存在,如果存在,则将New_Folder递增一个数字。所以我有New_Folder、New_Folder1、New_Folder2等等。我该怎么做呢?我看到的用于在批处理脚本中增加内容的解决方案似乎并不适用于我的情况,而且除了我为自己的代码复制/粘贴的内容之外,我对批处理脚本一无所知。