这个文本“按任意键继续”,我不希望它显示出来,有没有办法可以隐藏这部分文本,但我也希望保留前一个,因此pause命令。
我正在寻找构建一个执行 pngout.exe 命令行的小批处理脚本
到目前为止,我只有这个
for %i in (*.png) do "g:\myfiles\_pngout.exe" "%i" /s0 /c6
Run Code Online (Sandbox Code Playgroud)
但是,为此,我必须手动转到 png 所在的每个文件夹并从 Win7 打开一个 cmd 窗口,然后复制并粘贴该行。
我想要的是让该行在 C:\MyPNGs 及其子文件夹中工作,例如 C:\MyPNGs\Avatars 等,它应该遍历所有 png 并且每次执行该 "g:\myfiles\_pngout.exe" "%i" /s0 /c6
有任何想法吗?
我有一个媒体服务器(Windows 8)位于我家一个非常不方便的地方。有时我必须重置我的路由器,否则它会自行重置。问题是 PC 由于某种原因失去连接,我被迫走出屋外,绕过房子,走进地下室,翻过一堆玩具、重物和盒子,按下按钮重新启动它。
我希望它每 5-10 分钟检查一次,并在无法 ping 给定地址/IP 时自动重启。
任何想法如何实现这一点?
我想用随机的字母数字名称重命名一堆图像(全部带有 .jpg 扩展名)。示例是08kDRH1s.jpgor 0FwzUc3.jpg。做了一些搜索,我确实找到了一些使用的批处理脚本,$RANDOM但这只是 0 到 32767 之间的值
一位用户向我指出了一个生成随机 8 个字符的字母数字字符串的批处理脚本。仅将名称输出到命令行是否很难调整它以重命名文件?
@Echo Off
Setlocal EnableDelayedExpansion
Set _RNDLength=8
Set _Alphanumeric=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
Set _Str=%_Alphanumeric%987654321
:_LenLoop
IF NOT "%_Str:~18%"=="" SET _Str=%_Str:~9%& SET /A _Len+=9& GOTO :_LenLoop
SET _tmp=%_Str:~9,1%
SET /A _Len=_Len+_tmp
Set _count=0
SET _RndAlphaNum=
:_loop
Set /a _count+=1
SET _RND=%Random%
Set /A _RND=_RND%%%_Len%
SET _RndAlphaNum=!_RndAlphaNum!!_Alphanumeric:~%_RND%,1!
If !_count! lss %_RNDLength% goto _loop
Echo Random string is !_RndAlphaNum!
Run Code Online (Sandbox Code Playgroud) 我有一个 .bat 文件,我将多个文件合并到一个新文件中,它以前看起来像这样:
copy /b ^
E:\file1.txt+^
E:\file2.txt+^
E:\file3.txt ^
E:\output.txt
:: comment
Run Code Online (Sandbox Code Playgroud)
那效果很好。然后我想在代码上方添加注释,所以我将其更改为:
:: comment
:: comment
copy /b ^
E:\file1.txt+^
E:\file2.txt+^
E:\file3.txt ^
E:\output.txt
:: comment
Run Code Online (Sandbox Code Playgroud)
它不再起作用。当我运行它时,没有任何内容打印到终端。
如果我删除顶部的评论,它会立即重新开始工作。
为什么会这样?
编辑:
我想我不应该如此简化我的代码。文件顶部的评论之一实际上是这样的:
:: E:\file3.txt+^
Run Code Online (Sandbox Code Playgroud)
玩弄它,我发现+^注释中的字符会导致文件不起作用。
我也尝试REM在这一行上使用,但它导致打印出错误。所以似乎有些角色你根本无法在评论中出现?
我正在尝试编写一个批处理文件,只要文件夹中有 4 个 jpg 图像,它就会触发一个 exe。之后应该删除图像。
我已经让它工作了,但该文件一遍又一遍地启动exe。我似乎无法理解错误是什么。
任何帮助是极大的赞赏!
@echo off
setlocal EnableDelayedExpansion
set counter=0
:loop
cd "c:\JPGfolder\"
for %%B in (*) do set /a counter+=1
echo File Count = !counter!
if !counter! EQU 4 (
for /f "delims=|" %%I in ('DIR "c:\JPGfolder\" /B /O:-D *.jpg') DO (
SET NewestFile=%%I
echo Newest File = "c:\JPGfolder\!NewestFile!"
start "" /w "c:\programs\generate.exe" "c:\JPGfolder\"%NewestFile%
del c:\JPGfolder\*.jpg
GOTO :BREAK
)
)
:BREAK
set /a counter=0
ping -n 2 localhost >nul
) else (
echo No Files …Run Code Online (Sandbox Code Playgroud) 在 .exe 快捷方式中,我可以使用额外的参数。但是如何在 .bat 文件中传递这些参数呢?
我有一个程序可以自行编译并.exe在其子目录(例如release_win_*每个应用程序“App1”、“App2”等的目录)中生成文件。
我想找到.exe生成的特定这些文件并将它们复制到特定bin位置。
我有 :
SET /p copyresult = dir /b /mydir | findstr /s /m release_win_64/*.exe
copy /y %copyresult% /bin
Run Code Online (Sandbox Code Playgroud)
但是,我有一个问题。该findstr命令似乎不接受这样的通配符。我无法使用通配符。它不会在控制台上显示任何结果。
你有什么线索吗?
编辑:添加“release_win_64/*.exe”作为通配符
我想获得一个 bat 文件,它将从特定文件夹中打开一个随机文件(带有任何扩展名),但也可以打开该文件夹内所有子文件夹中的文件。还有另一个问题提出了这样的问题(如何在文件夹中打开随机文件,并设置只应打开具有指定文件扩展名的文件?),并提供以下脚本:
@echo off & setlocal
:: start of main
rem Set your path here:
set "workDir=C:\DVDCOVERS"
rem Read the %random%, two times is'nt a mistake! Why? Ask Bill.
rem In fact at the first time %random% is nearly the same.
@set /a "rdm=%random%"
set /a "rdm=%random%"
rem Push to your path.
pushd "%workDir%"
rem Count all files in your path. (dir with /b shows only the filenames)
set /a "counter=0"
for /f "delims=" %%i in ('dir …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的批处理文件:
IF EXIST icon.ico (
attrib -S -H -R desktop.ini
echo f | xcopy /H /Y "%~dp0desktop.ini.txt" desktop.ini
attrib +S +H +A desktop.ini
)
Run Code Online (Sandbox Code Playgroud)
这非常适合我的需要。我的问题是如何在所有子文件夹中运行它?
batch-file ×10
batch ×4
windows ×4
windows-7 ×4
batch-rename ×1
cmd.exe ×1
command-line ×1
open ×1
script ×1
windows-8 ×1
windows-8.1 ×1