相关疑难解决方法(0)

在Windows批处理中回显UTF-8字符

我可以使用echo生成UTF-8文本文件吗?例如,如果我想生成一个包含字符"ę"的文件

echo "abcd ?" > out.txt
Run Code Online (Sandbox Code Playgroud)

(批处理文件使用UTF-8编码)

结果是ANSI编码文件,"ę"字符转换为"ê".如何说服"echo"生成UTF-8文件?

如果不可能,那么我可以在创建后更改文本文件的编码吗?gnuwin32包中是否有任何工具可以帮助我改变编码?

谢谢

windows batch-file

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

pyCharm终端不激活conda环境

我在Windows的默认位置有一个conda环境,这是C:\ProgramData\Anaconda2\envs\myenv.此外,根据建议,conda脚本和可执行文件不在%PATH%环境变量中.我在pycharm中打开了一个项目并指向python解释器 C:\ProgramData\Anaconda2\envs\myenv\python.exe ,pycharm似乎与python控制台,运行环境和调试模式中的环境配合良好.

但是,打开终端时,环境未激活(我确保选中了激活环境的复选框).要清楚 - 当我使用virtualenv做同样的事情时,终端确实可以毫无问题地激活环境.

这里有一些我尝试过但没有用的东西:

  • 将激活脚本从anaconda文件夹复制到环境文件夹
  • 将激活脚本从anaconda文件夹复制到Scripts环境下的文件夹
  • 复制virtualenv中的激活脚本(激活环境的相同脚本)
  • 在路径中添加了anaconda文件夹

这些都没有奏效.终端打开后,我可以手动激活环境,但是如何自动完成?

python pycharm anaconda conda miniconda

14
推荐指数
7
解决办法
7092
查看次数

在文本文件中查找具有特殊字符的字符串,并在每次出现前添加换行符

我有一个文本文件,这是一个长字符串,如下所示:

ISA*00*GARBAGE~ST*TEST*TEST~CLP*TEST~ST*TEST*TEST~CLP*TEST~ST*TEST*TEST~CLP*TEST~GE*GARBAGE*~   
Run Code Online (Sandbox Code Playgroud)

我需要它看起来像这样:

~ST*TEST*TEST~CLP*TEST
~ST*TEST*TEST~CLP*TEST
~ST*TEST*TEST~CLP*TEST
Run Code Online (Sandbox Code Playgroud)

我首先尝试在每一处添加一行~ST来分割字符串,但我不能为我的生活让这一切发生.我尝试过各种脚本,但我认为查找/替换脚本效果最好.

@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=test.txt
set OUTTEXTFILE=test_out.txt
set SEARCHTEXT=~ST
set REPLACETEXT=~ST

for /f "tokens=1,* delims=~" %%A in ( '"type %INTEXTFILE%"') do (
    SET string=%%A
    SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!

    echo !modified! >> %OUTTEXTFILE%
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
Run Code Online (Sandbox Code Playgroud)

在此处找到如何替换Windows批处理文件中的子字符串

但我被卡住了因为(1)特殊字符~使得代码根本不起作用.它给了我这个结果:

string:~ST=~ST
Run Code Online (Sandbox Code Playgroud)

如果使用引号,代码什么都不做"~ST".并且(2)我无法弄清楚如何在之前添加换行符~ST.

最后的任务是在执行所有拆分后删除ISA*00*blahblahblah~GE*blahblahblah行.但我~ST部分地陷入分裂.

有什么建议?

string replace batch-file

6
推荐指数
1
解决办法
766
查看次数

标签 统计

batch-file ×2

anaconda ×1

conda ×1

miniconda ×1

pycharm ×1

python ×1

replace ×1

string ×1

windows ×1