windows %%f 将文件的全名返回为“filename.ext”
例如
for /r %%f in (*.wav) do echo %%f
Run Code Online (Sandbox Code Playgroud)
有没有办法从 %%f 中提取没有扩展名的文件名?
Line 1
Line 2
Line 3
Line 4
Line 5
Run Code Online (Sandbox Code Playgroud)
应该成为
Line 5
Line 4
Line 3
Line 2
Line 1
Run Code Online (Sandbox Code Playgroud)
我需要一个记事本脚本来做到这一点。
我有以下批处理脚本,它成功地为我们的用户映射了一些驱动器:
@echo off
net use * /delete /yes
net use x: \\192.168.1.52\xrays
net use s: \\192.168.1.52\common
net use p: \\192.168.1.52\public
net use o: \\192.168.1.52\office
net use y: \\192.168.1.52\drives
EXIT
Run Code Online (Sandbox Code Playgroud)
映射的驱动器本身从共享名称中获取它们的名称。但是,如果我可以将名称覆盖为对用户更有用的名称,那将非常方便。
我在网上查看了很多带有 net use 命令示例的文档,但我只能看到诸如凭据之类的选项,而与命名无关。
该脚本正在 Windows XP 和 Windows 7 工作站上运行。
任何帮助,将不胜感激。
出于某种原因,此脚本为每个原件输出三个文件,而不是一个。
一定犯了一些小错误 - 我是新手!
如果有人能解释为什么会发生这种情况,我将非常感激。
脚本:-
for f in *.txt
do
noOfRows=$(cat $f | wc -l)
relevantRows=$(expr $noOfRows - 5)
head -n $relevantRows $f | tee ${f%.txt}-Amended.txt
done
Run Code Online (Sandbox Code Playgroud)
ls 命令的结果:-
E12-5_F2_NEG-Amended-Amended-Amended.txt E12-5_M3_POS-Amended-Amended-Amended.txt
E12-5_F2_NEG-Amended-Amended.txt E12-5_M3_POS-Amended-Amended.txt
E12-5_F2_NEG-Amended.txt E12-5_M3_POS-Amended.txt
E12-5_F2_NEG.txt E12-5_M3_POS.txt
E12-5_F2_POS-Amended-Amended-Amended.txt E12-5_M4_NEG-Amended-Amended-Amended.txt
E12-5_F2_POS-Amended-Amended.txt E12-5_M4_NEG-Amended-Amended.txt
E12-5_F2_POS-Amended.txt E12-5_M4_NEG-Amended.txt
E12-5_F2_POS.txt E12-5_M4_NEG.txt
E12-5_F5_NEG-Amended-Amended-Amended.txt E12-5_M4_POS-Amended-Amended-Amended.txt
E12-5_F5_NEG-Amended-Amended.txt E12-5_M4_POS-Amended-Amended.txt
E12-5_F5_NEG-Amended.txt E12-5_M4_POS-Amended.txt
E12-5_F5_NEG.txt E12-5_M4_POS.txt
E12-5_F5_POS-Amended-Amended-Amended.txt E12-5_M7_NEG-Amended-Amended-Amended.txt
E12-5_F5_POS-Amended-Amended.txt E12-5_M7_NEG-Amended-Amended.txt
E12-5_F5_POS-Amended.txt E12-5_M7_NEG-Amended.txt
E12-5_F5_POS.txt E12-5_M7_NEG.txt
E12-5_M3_NEG-Amended-Amended-Amended.txt E12-5_M7_POS-Amended-Amended-Amended.txt
E12-5_M3_NEG-Amended-Amended.txt E12-5_M7_POS-Amended-Amended.txt
E12-5_M3_NEG-Amended.txt E12-5_M7_POS-Amended.txt
E12-5_M3_NEG.txt E12-5_M7_POS.txt
Run Code Online (Sandbox Code Playgroud)
非常感谢,亚当
我有一个 PowerShell 脚本来监视图像文件夹。我需要它在启动时自动运行。
我尝试使用 MSConfig,但在该列表中找不到它。
如何让脚本在启动时自动运行?
我一直在尝试创建一个脚本,该脚本压缩带有时间戳的目录并将其移动到同一服务器上的另一个位置,但我似乎无法让 TESTDATE 显示在 zip 文件上,从而导致文件名称为 .zip。
#!/bin/sh
# date
TESTDATE="date +%b-%d-%y"
# dirs to backups
DIRS="/volume1/NetBackup"
# Save zip file elsewhere on the server
DEST="/volume1/NetBackup/Backup"
# set to "no" keep old zip file and add new file
DELETE_OLD_ZIP_FILES="no"
#Path to binary files
BASENAME=/usr/bin/basename
ZIP=/usr/syno/bin/zip
for d in $DIRS
do
echo $DIRS
zipfile="${DEST}/$(${TESTDATE} ${d} ${BASENAME}).zip"
echo -n "Creating $zipfile..."
# create zip file
${ZIP} -r $zipfile $d &>/dev/null && echo "Done!"
done
Run Code Online (Sandbox Code Playgroud) 嗨,我有一个脚本,在其中我需要从脚本生成的 IP 中获取主机名。该脚本会将这些 IP 生成为 1 个只有 1 列的整洁文件。它实际上只是 IP 地址(每行 1 个)。我有另一个名为“db”的文件,如下所示:
IP Hostname
Run Code Online (Sandbox Code Playgroud)
'db' 是我的数据库,用于存储委派给这些 IP 的 IP 地址和主机名列表。这些是静态地址,不会改变,通常是服务器或交换机等。我需要的是脚本生成的 IP 地址,我想用这个数据库文件中的主机名 FIRST 解析它们,如果没有在那里找到它,然后运行host命令。我已经在做后者,host但我真的希望它们首先来自我的 db 文件。最终输出只需要 1 个文件和 1 列主机名。我有一些使用 awk 和数组的想法,但似乎无法完全得到我需要的东西。
我正在尝试制作一个脚本来备份我的服务器,但我对 bash 脚本的了解非常有限。我希望脚本将备份文件命名为 ht-“今天的日期”。我该怎么做?是否可以将命令(例如 date 命令)用作变量?
有人可以解释我为什么这样做(列出名称中包含空格的目录的内容):
ret="$(ls "my dir")"
Run Code Online (Sandbox Code Playgroud)
它不应该被解释为:
ret="$(ls "
my dir
")"
Run Code Online (Sandbox Code Playgroud)
例如:
ls "my" "dir"
Run Code Online (Sandbox Code Playgroud)
和
ls "my dir"
Run Code Online (Sandbox Code Playgroud) 我有一个if条件。如果该条件为真,则将运行一个脚本,然后我需要检查另一个条件。
我怎样才能使用if语句或其他东西来做到这一点?
例如,
if [ condition -eq o ]
then
run script
again condition(this condition depends on above script output value)
run another script
else
exit
Run Code Online (Sandbox Code Playgroud) script ×10
bash ×5
linux ×4
shell ×4
unix ×2
windows ×2
autostart ×1
awk ×1
batch-file ×1
console ×1
date-time ×1
filenames ×1
networking ×1
notepad ×1
powershell ×1
rename ×1
shell-script ×1
ubuntu ×1
zip ×1