小编End*_*oro的帖子

拆分路径并在批处理脚本中获取最后一个文件夹名

我想拆分字符串(有路径)\并在变量中取最后一个文件夹名称.请帮忙.

例如
mypath = D:\ FOLDER1\FOLDER2\FOLDER3 \

我想在变量中使用FOLDER3.

我尝试使用下面的命令,如果最后一个字符不是\:

for %f in (C:\FOLDER1\FOLDER2\FOLDER3) do set myfolder=%~nxf
Run Code Online (Sandbox Code Playgroud)

如果最后一个字符是,则无效 \

如果使用变量,它也不起作用: for%f in(%mypath%)do my myderder =%~nxf

windows directory for-loop cmd batch-file

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

如何在Windows批处理文件中有条件地打开/关闭@ECHO?

我有一个批处理文件,可以在本地或在构建服务器上运行,以做一些有趣的工作.在本地计算机上,我希望@ECHO OFF您的控制台没有充满调试字符串.在构建服务器上,我宁愿@ECHO ON这样可以调查失败.

如果存在特殊的环境变量(TEAMCITY_PROJECT_NAME),则可以确定构建服务器上下文.所以,我以为我可以做点什么

IF DEFINED TEAMCITY_PROJECT_NAME @ECHO ON ELSE @ECHO OFF
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,我得到的IF声明与其他一切相呼应......任何想法?

windows parsing cmd batch-file echo

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

如何批量获取字符串中子字符串的位置

获取子串的位置,

  Set str1=This is Test string
  Set sstr=Test
Run Code Online (Sandbox Code Playgroud)

在这里,我需要获得"测试"(8)的位置.

谢谢...

windows for-loop cmd batch-file

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

在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万
查看次数

用户在Windows批处理文件中决定超时

我写了一个简单的.bat文件,一次询问用户是/否问题.现在我想为它添加一个超时 - 让我们说10s.有一个简单的方法吗?

我的来源到目前为止:

SET /P ANSWER=Do you want it (Y/N)?
IF /i {%ANSWER%}=={y} GOTO :yes
IF /i {%ANSWER%}=={yes} GOTO :yes
GOTO :no

:yes
@echo Yeah, it will be done.
GOTO :continue

:no
@echo Nope, it will not happen.
GOTO :continue

:continue
@echo And on we go
Run Code Online (Sandbox Code Playgroud)

windows cmd timeout batch-file choice

6
推荐指数
2
解决办法
6288
查看次数

Batch For loop排除包含的文件名

我有一个简单的批处理文件,它将遍历所有*Test.htm文件并复制它们.某些文件将包含我不想复制的字符串.

FOR /R "C:\" %%g IN (*Test.htm) DO  (
echo %%g
)
Run Code Online (Sandbox Code Playgroud)

我想要的伪代码:

@echo off
FOR /R "C:\" %%g IN (*Test.htm) DO ( 
   if %%g contains "Exclude" do nothing
else 
   copy...
)
Run Code Online (Sandbox Code Playgroud)

batch-file

5
推荐指数
1
解决办法
8189
查看次数

How to find the last directory created in batch

This is my first question and I'm not very experienced using batch files so hope someone can help.

I want to find the last directory created using a batch file and have tried:

FOR /f "tokens=*" %%A in ('dir "%latestdirectory%" /AD-h /B /o-d') do (set recent=%%A)
Run Code Online (Sandbox Code Playgroud)

but this result keeps returning the oldest directory not the most recent one.

Still trying to pick this up in batch.

windows directory datetime cmd batch-file

5
推荐指数
1
解决办法
1376
查看次数

Windows 批处理文件获取 C:\ 驱动器总空间和可用空间

我需要一个 bat 文件来获取 Windows 系统中 C:\ 驱动器的总空间和可用空间,以 GB(千兆字节)为单位,并创建一个包含详细信息的文本文件。

注意:我不想使用任何外部实用程序。

windows size cmd volume batch-file

5
推荐指数
1
解决办法
3万
查看次数

从嵌套批处理文件退出

我有4个批处理文件,假设a.bat,b.bat,c.bat和d.bat.现在调用这些批处理文件的方式是a.bat调用b.bat,b.bat调用c.call等等.

如果我在任何批处理文件中出现任何错误,我想通过说出错误退出整个程序,并提出哪个批处理文件有问题.我的问题是,我该怎么做?

我在这里使用exit /b但它只从当前的批处理文件中退出并从那里调用后移回批处理文件:

一只蝙蝠

@echo. off
echo. this is batch 'a'
call b.bat
Run Code Online (Sandbox Code Playgroud)

b.bat

@echo. off
echo. this is batch 'b'
call c.bat
Run Code Online (Sandbox Code Playgroud)

C.BAT

@echo. off
echo. this is batch 'c'
Run Code Online (Sandbox Code Playgroud)

我在批处理'C'中出错 - 它应该报告错误并退出,但它会以某种方式回到批处理'B'.有关如何退出嵌套批处理文件的任何想法?

windows cmd batch-file call exit

5
推荐指数
2
解决办法
4295
查看次数

使用批处理将多个文件的内容复制到.mkv

我有很多来自电视节目的视频文件,我想为每个人添加字幕字幕.虽然我可以使用MKV合并几个文件,但这里文件的数量太多,单独做每个文件需要花费很多时间.我使用了以下内容:

     for %x in (*.mp4) do mkvmerge "%x" -o "%~nx.mkv"
Run Code Online (Sandbox Code Playgroud)

但它只会mux mp4到mkv,而不是添加字幕(srt).我的视频文件和字幕对于每集都有相同的名称.谢谢!

windows video cmd batch-file mkv

4
推荐指数
1
解决办法
6031
查看次数

标签 统计

batch-file ×10

cmd ×9

windows ×9

directory ×2

for-loop ×2

call ×1

cd ×1

choice ×1

datetime ×1

echo ×1

exit ×1

mkv ×1

parsing ×1

size ×1

timeout ×1

video ×1

volume ×1