我有一个名为 Export.txt 的纯文本文件。它包含一个地理位置列表,前面是一个带前导零的 3 位数字。
例子
--START OF FILE--
001 Aberdeen
002 Bellevue
003 Camas
004 Davenport
005 Edgewood
006 Ferndale
007 George
008 Harrington
009 Ilwaco
010 Kahlotus
--END OF FILE--
Run Code Online (Sandbox Code Playgroud)
如何编写脚本或批处理文件来读取文件中的每一行并在 NTFS 分区的给定位置创建一个具有此名称的文件夹?
笔记!请注意,文件夹名称必须包含数字。将上面的列表视为文件夹的实际列表。
更新!我要创建的实际文件夹列表是 245,范围从 001 到 245。这是前几行。
--START OF FILE--
001 Harberget
002 Långflon
003 Källegrafsrös
004 Badstuknappen
005 Aspberget
006 Knipen
007 Halsjön
008 N Finnskoga
009 Båtstad
010 Tisjön
.
.
.
.
245 Milskär
--END OF FILE--
Run Code Online (Sandbox Code Playgroud)
完整列表可以在这里找到:http : //pastebin.com/SNde4bBN …
我想从 Windows 批处理文件发送邮件。这是我的代码:
blat test.log -server smtp.gmx.com -to dest@gmail.com -f address@gmail.com -s "test mail" -u "address@gmail.com" -pw "password" -debug -log envois-mails.log -timestamp
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
2014.07.23 14:07:26 (Wed): <<<getline<<< 535 Authentication credentials invalid
2014.07.23 14:07:26 (Wed): The SMTP server did not accept Auth PLAIN value.
Are your login userid and password correct?
2014.07.23 14:07:26 (Wed): >>>putline>>> AUTH LOGIN
2014.07.23 14:07:26 (Wed): <<<getline<<< 334 VXNlcm5hbWU6
2014.07.23 14:07:26 (Wed): >>>putline>>> b3Vzcy56YWltQGdtYWlsLmNvbQ==
2014.07.23 14:07:26 (Wed): <<<getline<<< 334 UGFzc3dvcmQ6
2014.07.23 14:07:26 (Wed): >>>putline>>> aG90bWFpbGhvdG1haWw=
2014.07.23 14:07:26 …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过批处理文件运行多个 exe 的静默安装,但是需要它们一个一个而不是同时运行。当使用非本机开关时,“START /W”似乎不起作用,例如:
START /WAIT "%userprofile%\desktop\jre-8u25-windows-i586.exe" /s
返回以下错误:无效开关“/s”
任何帮助将不胜感激
我创建了一个使用 3 种不同桌面配置的环境,但是每次重新启动时,我都必须手动打开该目标桌面中的每个程序,使其看起来像以前一样。
所以,我想写一个.bat文件,让我的所有程序都能在合适的桌面上运行。我想知道这样的事情是否可能:
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -desktop:2
"C:\Program Files\My\Other\Software.exe" -desktop:3
...etc.
Run Code Online (Sandbox Code Playgroud)
显然,这个例子不是真实的,但我希望有类似的东西。我不在乎它是否是 hacky :)
如何调用参数为包含与符号 (&) 的变量的子例程?
没有错误,但调用似乎永远不会执行。
例子.bat
@echo off
setlocal enableDelayedExpansion
rem Doesn't work
set val=with^&ersand
call :Output !val!
rem Works fine
set val=without_ampersand
call :Output !val!
goto End
:Output
set "line=%1"
echo Called: !line!
goto :eof
End:
Run Code Online (Sandbox Code Playgroud)
输出:
调用: without_ampersand
编辑:
不需要使用delayExpansion。它只是在这个例子中使用。不使用 delayExpansion 的方法是首选。
问题的重点是“我如何调用”而不是“我最初如何设置变量”。变量可能来自用户输入或for /f循环(就像我的情况)。
我想逐行读取带有批处理文件的网站上托管的文本文件的内容。例如:来自example.com/text.txt
我试过了
@echo off
for /f "tokens=*" %%A in (http://example.com/text.txt) do (echo%%A)
Run Code Online (Sandbox Code Playgroud)
但它会寻找一个名为而不是 url 的文件。
我想创建命令hello而不必创建像hello.bat这样的文件。我想要没有文件的命令。该命令必须执行echo Hello World! .
有没有办法在 Windows 上做到这一点?
此命令行打开一个隐身选项卡并连接到环境变量%url% 中的 URL:
start chrome --incognito %url%
Run Code Online (Sandbox Code Playgroud)
这会最大化选项卡并连接到 %url%。
start chrome %url% /MAX
Run Code Online (Sandbox Code Playgroud)
但是一旦我尝试将它们组合起来,就像这样,
start chrome --incognito %url% /MAX
Run Code Online (Sandbox Code Playgroud)
该/MAX选项不起作用。
如何正确组合它们的功能?
我想将文件扩展名从改变.jpg到.txt。这必须发生在当前文件夹和所有子文件夹中。我在批处理中做错了什么?
for /R %%G IN (.) DO (rename *.jpg *.txt)
Run Code Online (Sandbox Code Playgroud) 这个批处理文件
@echo off
set path=C:\Users\ssiyengar\Desktop\Pingtest\pinglist.csv
set file=C:\Users\ssiyengar\Desktop\Pingtest\temp.txt
set qosping=1
cls
for /f "tokens=1-3 delims=," %%a IN (%path%) do (
ping %%c -n %qosping% > %file%
findstr "time< time=" %file% >nul
if %errorlevel%==1 (
echo %%a %%b IP %%c Ping FAILURE
) else (
echo %%a %%b IP %%c Ping SUCCESS
)
)
pause
Run Code Online (Sandbox Code Playgroud)
输出:
'ping' is not recognized as an internal or external command,
operable program or batch file.
'findstr' is not recognized as an internal or external command,
operable …Run Code Online (Sandbox Code Playgroud) batch-file ×10
batch ×4
windows ×4
cmd.exe ×2
command-line ×2
windows-10 ×2
batch-rename ×1
echo ×1
email ×1
findstr ×1
ping ×1
script ×1
shell-script ×1
smtp ×1