我想使用.bat文件更改无名文件夹的图标:
@echo off
set /p "fld=Folder: "
set /p "ico=Icon file: "
md "%fld%\icons" 2>nul
if exist %ico% copy "%ico%" "%fld%\icons\icon.ico" /y 1>nul
attrib -h -s "%fld%\desktop.ini" 2>nul
(
echo/[.ShellClassInfo]
echo/IconResource=icons\icon.ico,0
) > "%fld%\Desktop.ini"
attrib +h +s -a "%fld%\Desktop.ini"
attrib +r "%fld%"
attrib +h "%fld%\icons"
taskkill -im explorer.exe /f >nul&start explorer
pause
但是我不能引用只包含空格的无名文件(在重命名时按Alt + 255创建)!当我使用空格而不是%fld%并运行bat文件!我想更改.bat并删除%fld%并引用我的无名文件夹!
我得到输出:
The system cannot find the path specified.
Path not found - C:\Users\Sand\Desktop\if
The system cannot find the path specified.
Path not found - C:\Users\Sand\Desktop\if
Path not found - C:\Users\Sand\Desktop\if
答案 0 :(得分:2)
更改此行:
set /p "fld=Folder: "
到
set "fld= "
看起来像空格的=
之后的字符实际上是ALT+255
(按住ALT
并在键盘上输入255.
啊,已经有一段时间了,因为我需要这样的东西。
您还必须更改代码页。
将第一行留空(这是必要的,因为UTF-8文本文件的第一行中有隐藏的字符)。
将CHCP 65001
作为第二行。
插入剩余的批次代码。
将BAT文件保存为UTF-8。
答案 1 :(得分:1)
只需alt + 0255即可批量传递 示例
α= “Y” 回声“ÿ” set / p c =“gg”
在这里ÿ将在批处理时被视为emptysace,当运行ignore set / p c =“gg”时,只是为了使批处理等待,直到你按任意值