windows - Hvordan fjerner jeg de første 30 charicters i hver linje fra en CMD dir-kommando og udfører et script for hver i javascript?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg ser på at bygge en kommando, der kan tage i dir listen fra en cmd og dumpe en liste over kommandoer, der skal udføres, men kun koden kan arbejde på første linie. Hvad skal jeg gøre i for at få det til at fungere på alle linjerne?




<!DOCTYPE html>
<html>
    <body>
        <p>
            drive:<br>
            <input type=text>
        </p>
        list:<br>
        <textarea onchange="myFunction(this.value)"></textarea>
            <div id='output'>
            </div>

        <script>
            function myFunction(val)
            {
                val = val.toLowerCase(); //new object assigned to var str
                val = val.substring(30);
                val = val.replace(/\_/g, "");

                val = val.replace(/
?
/g, '<br />');
                document.getElementById("output").innerHTML = val;
            }
        </script>

    </body>
</html>


input data:


07/05/2017  02:56 PM                    sample1
07/06/2017  02:12 AM                    sample2
07/05/2017  06:09 PM                    sample3
07/05/2017  07:20 PM                    sample4
07/05/2017  10:59 PM                    sample5
07/05/2017  10:54 AM                    sample6
07/06/2017  05:44 AM                    sample7


output prøve:


samplecheck.exe E:sample1  >E:sample1.txt
samplecheck.exe E:sample2  >E:sample2.txt
samplecheck.exe E:sample3  >E:sample3.txt
samplecheck.exe E:sample4  >E:sample4.txt

Bedste reference


Fjernelse af tegn fra begyndelsen af ​​et sæt filnavne kan gøres ved hjælp af en quirk i den måde Dos arbejder med mellemrum på kommandolinjen. Først skal du erstatte de uønskede tegn med mellemrum og derefter slippe mellemrummet ved hjælp af en FOR ... IN ... DO konstruktion. Uanset filnavnens faktiske længde skal håndtering af lange filnavne af FOR være aktiveret med LFNFOR On, så rummene kan accepteres som en del af filnavnet.


Eksempel:


For at fjerne de to første tegn fra begyndelsen af ​​alle filnavne i den aktuelle mappe:
REN . '. '
LFNFOR On
FOR\% v IN (. ) DO REN '\% v'\% v

Andre referencer 1


Prøv denne kode. Dette vil kontrollere TESTING.TXT filen i din mappe, og den vil fjerne de første 3 tegn og returnere resten.
Ex: TESTING.TXT -> TING.TXT


@echo off
setlocal enabledelayedexpansion
for \%\%a in (TESTING*.TXT) do (
set oldName=\%\%a
set newName=!oldName:~3!
echo !newName!
)
pause


Vedhæftet screenshotet her [5]